這篇文章主要介紹“Wireshark分析出攻擊者sql注入時(shí)查詢了哪些數(shù)據(jù)”,在日常操作中,相信很多人在Wireshark分析出攻擊者sql注入時(shí)查詢了哪些數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Wireshark分析出攻擊者sql注入時(shí)查詢了哪些數(shù)據(jù)”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、成都服務(wù)器托管、云服務(wù)器、虛擬空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、虛擬空間、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

將流量包導(dǎo)入Wireshark

看著很亂,輸入url通過瀏覽器請(qǐng)求使用的協(xié)議為http/https,該流量包中只有http,所以我們直接過濾出http協(xié)議的數(shù)據(jù)包。
過濾出http請(qǐng)求的數(shù)據(jù)包

注入語句如下:
http://localhost:81/?id=1' and ascii(substring((select keyid from flag limit 0,1),1,1))=32#
由此可見攻擊者采用布爾盲注進(jìn)行sql注入。
這里我們想到注入語句成功和失敗所返回的數(shù)據(jù)包一定是不同的。
觀察sql注入響應(yīng)包。
注入失敗響應(yīng)內(nèi)容:
注入成功響應(yīng)內(nèi)容:
由此我們可以想到是不是可以先將注入成功響應(yīng)包過濾出來???那么我們應(yīng)該以什么規(guī)則進(jìn)行過濾呢,或者說以響應(yīng)包哪個(gè)特征進(jìn)行過濾呢???
我想到的過濾條件:
過濾出響應(yīng)內(nèi)容中有文章內(nèi)容的所有響應(yīng)包
根據(jù)響應(yīng)包的長度進(jìn)行過濾
注入失敗的響應(yīng)包長度:
注入成功的響應(yīng)包長度:
對(duì)于Wireshark的語法不是很熟悉,沒有找到怎么以內(nèi)容過濾的語法,所以我這里以響應(yīng)包的長度進(jìn)行過濾。
Wireshark http過濾規(guī)則:
http.host==magentonotes.com http.host contains magentonotes.com //過濾經(jīng)過指定域名的http數(shù)據(jù)包,這里的host值不一定是請(qǐng)求中的域名 http.response.code==302 //過濾http響應(yīng)狀態(tài)碼為302的數(shù)據(jù)包 http.response==1 //過濾所有的http響應(yīng)包 http.request==1 //過濾所有的http請(qǐng)求,貌似也可以使用http.request http.request.method==POST //wireshark過濾所有請(qǐng)求方式為POST的http請(qǐng)求包,注意POST為大寫 http.cookie contains guid //過濾含有指定cookie的http數(shù)據(jù)包 http.request.uri==”/online/setpoint” //過濾請(qǐng)求的uri,取值是域名后的部分 http.request.full_uri==” http://task.browser.#/online/setpoint” //過濾含域名的整個(gè)url則需要使用http.request.full_uri http.server contains “nginx” //過濾http頭中server字段含有nginx字符的數(shù)據(jù)包 http.content_type == “text/html” //過濾content_type是text/html的http響應(yīng)、post包,即根據(jù)文件類型過濾http數(shù)據(jù)包 http.content_encoding == “gzip” //過濾content_encoding是gzip的http包 http.transfer_encoding == “chunked” //根據(jù)transfer_encoding過濾 http.content_length == 279 http.content_length_header == “279″ //根據(jù)content_length的數(shù)值過濾 http.server //過濾所有含有http頭中含有server字段的數(shù)據(jù)包 http.request.version == “HTTP/1.1″ //過濾HTTP/1.1版本的http包,包括請(qǐng)求和響應(yīng) http.response.phrase == “OK” //過濾http響應(yīng)中的phrase
以content-Length長度進(jìn)行過濾,過濾語法為http.content_length == 366

所有注入成功的語句也可以從響應(yīng)包查看到。
http://localhost:81/?id=1' and ascii(substring((select keyid from flag limit 0,1),1,1))=102#
這條sql語句的含義:第一個(gè)字符的ASCII碼為102
>>> print(chr(102)) # 將ASCII碼轉(zhuǎn)換為字符 >>> f
我怎么可能一個(gè)一個(gè)查看注入成功時(shí)字符對(duì)應(yīng)的ASCII值是多少呢。

將上面過濾后的結(jié)果導(dǎo)出

使用正則過濾出注入語句和字符對(duì)應(yīng)的ASCII碼
import re
number = []
with open("aa.txt","r",encoding="utf-8") as f:
for i in f.readlines():
flag_number = re.findall(r"\[Request URI: .*?=(\d+)%23\]",i,re.S) # 字符對(duì)應(yīng)的ASCII碼
url_list = re.findall(r"\[Request URI: (.*?)\]",i,re.S) # 注入的url
if flag_number:
print(url_list)
number.append(flag_number[0])
這里注意注入語句成功的先后順序,也就是上圖圈出來的地方按順序排序(從第1個(gè)字符開始判斷,一直到38個(gè)字符),就是注入成功的執(zhí)行流程。
知道了字符對(duì)應(yīng)的ASCII碼,反過來通過ASCII碼得出對(duì)應(yīng)的字符即可。
最后跑出flag
import re
number = []
with open("aa.txt","r",encoding="utf-8") as f:
for i in f.readlines():
flag_number = re.findall(r"\[Request URI: .*?=(\d+)%23\]",i,re.S)
url_list = re.findall(r"\[Request URI: (.*?)\]",i,re.S)
if flag_number:
print(url_list)
number.append(flag_number[0])
print(number)
flag = ''
for i in number:
flag +=chr(int(i))
print(flag)
到此,關(guān)于“Wireshark分析出攻擊者sql注入時(shí)查詢了哪些數(shù)據(jù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
網(wǎng)頁名稱:Wireshark分析出攻擊者sql注入時(shí)查詢了哪些數(shù)據(jù)
URL地址:http://www.chinadenli.net/article14/peegge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、定制開發(fā)、網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、建站公司、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)