題目描述
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}