全網最新最全首屆“隴劍杯”網絡安全大賽完整WIRTEUP --- SQL注入(3題)


題目描述

某應用程序被攻擊,請分析日志后作答:

 

8.1  黑客在注入過程中采用的注入手法叫_____________。(格式為4個漢字,例如“拼搏努力”)

wp:

取出一條日志

172.17.0.1 - - [01/Sep/2021:01:37:25 +0000] "GET /index.php?id=1%20and%20if(substr(database(),1,1)%20=%20'%C2%80',1,(select%20table_name%20from%20information_schema.tables)) HTTP/1.1" 200 422 "-" "python-requests/2.26.0"

url解碼172.17.0.1 - - [01/Sep/2021:01:37:25  0000] "GET /index.php?id=1 and if(substr(database(),1,1) = '€',1,(select table_name from information_schema.tables)) HTTP/1.1" 200 422 "-" "python-requests/2.26.0"

if語句就是布爾判斷

flag:

布爾盲注

 

8.2  黑客在注入過程中,最終獲取flag的數據庫名、表名和字段名是_____________。(格式為“數據庫名#表名#字段名”,例如database#table#column)

wp:

 采用字符定位法就可以找到最終結果,因為sql盲注的原理就是一個一個字符猜測,猜對了就猜下一個字符,

比如

 

 

 %C2%80是第一個,猜對了進行下一次 %C2%80, %C2%80之前的就是正確結果,因此sq就是猜出的正確結果

 

1行 161行 數據庫名
162行 353行 sqli數據庫的表名
354行 545行 sqli數據庫flag表的字段名
546行 2764行 sqli數據flag表flag字段內容

按照之前的方法就可以收集出字符串

庫名  sqli

 表名  flag

字段名  flag

內容  flag{deddcd67-bcfd-487e-b940-1217e668c7db}

有一種取巧方法,先將日志信息全部url編碼后,直接從后往前翻
執行了一條sql語句,查詢的是sqli數據庫flag表的flag字段

select flag from sqli.flag

flag:

sqli#flag#flag

 

8.3  黑客最后獲取到的flag字符串為_____________。

wp:

上題已經解出

flag:

flag{deddcd67-bcfd-487e-b940-1217e668c7db}

 


免責聲明!

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



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