網(wǎng)站上的導(dǎo)航欄怎么做上海牛巨微seo優(yōu)化
@[TOC](這里寫目錄標(biāo)題
- wireshark抓包方法
- wireshark組成
- wireshark例題
wireshark抓包方法
wireshark組成
wireshark的抓包組成為:分組列表、分組詳情以及分組字節(jié)流。
上面這一欄想要顯示,使用:Ctrl+F
我們先看一下最上側(cè)的搜索欄可以使用的方法。
http.request.method == get //抓取http的request的get請求
http.request.method == post //抓取http的request的post請求
http.request.uri == "/img/logo-edu.gif" //抓取http請求的url為/img/logo-edu.gif的數(shù)據(jù)包
http contains "FLAG" //抓取內(nèi)容為FLAG的數(shù)據(jù)包
ip.addr == 192.168.224.150 //抓取包含次ip地址的數(shù)據(jù)包
ip.src == 192.168.224.150 //抓取源地址為此地址的數(shù)據(jù)包
ip.dts == 192.168.224.150 //抓取目的地址為此地址的數(shù)據(jù)包
eth.dst == A0:00:00:04:c5:84 //抓取目標(biāo)MAC地址的數(shù)據(jù)包
eth.addr == A0:00:00:04:c5:84 //抓取包含此MAC的數(shù)據(jù)包
tcp.dstport == 80 //抓取tcp目的端口為80的數(shù)據(jù)包
tcp.srcport == 80 //抓取tcp源端口為80的數(shù)據(jù)包
udp.srcport == 80 //抓取udp源端口為80的數(shù)據(jù)包組合:
ip.addr == 192.168.224.150 && tcp.dstport == 80 //抓取ciip地址并且使用tcp目的端口為80的數(shù)據(jù)包arp/icmp/ftp/dns/ip //抓取協(xié)為arp/icmp...的數(shù)據(jù)包udp.length == 20 //抓取長度為20的udp數(shù)據(jù)包
tcp.len>=20 //抓取長度大于20的tcp數(shù)據(jù)包
ip.len == 20 //抓取長度為20的ip數(shù)據(jù)包
frame.len == 20 //抓取長度為20的數(shù)據(jù)包tcp.stream eq 0 //抓取tcp的分組0
我們不難看出,上側(cè)搜索欄十分靈活,基本已經(jīng)滿足我們抓包要求。
那么我們再看一下下面我們添加的一欄。
最前面是指三個框,也就是搜索的位置
然后是寬窄,這里的寬窄是指編碼方式
接下來就是區(qū)分大小寫,后面的一欄就非常重要了,這里我們主要介紹字符串和正則。
我們知道如果我們想要搜索一些http內(nèi)容,我們可以使用http,似乎和上側(cè)差不多,但這里搜索的是字符串,而上面則是協(xié)議。
正則則更簡單了,如果我們想要過濾一些文件,比如php:/.php$/更加快速。
這里是搜索的內(nèi)容,我們再看另一個點,追蹤數(shù)據(jù)流。
這里的追蹤流,可以是TCP也可以是HTTP,這里打開一個看一下就好。
wireshark的使用就介紹到這。
wireshark例題
案例一
題目要求:
1.黑客攻擊的第一個受害主機的網(wǎng)卡IP地址
2.黑客對URL的哪一個參數(shù)實施了SQL注入
3.第一個受害主機網(wǎng)站數(shù)據(jù)庫的表前綴 (加上下劃線例如abc_)
第一個比較簡單,我們從http入手,進(jìn)行查看。
查看一下數(shù)據(jù)包
很明顯,我們可以看到我們映射出的公網(wǎng)ip是受害方202.1.1.1。
那么這個地址對應(yīng)的私網(wǎng)IP就是被攻擊方,也就是受害方。
也就是192.168.1.8
第二個,SQL注入?yún)?shù)
sqlamp是掃描器,而參數(shù)則在下面的內(nèi)容中,也就是list
第三個,數(shù)據(jù)庫表前綴
我們對數(shù)據(jù)的TCP流進(jìn)行追蹤
報錯注入,分析數(shù)據(jù)
那么前綴就是ajtuc_
案例二
題目要求
1.黑客第一次獲得的php木馬的密碼是什么
2.黑客第二次上傳php木馬是什么時間
3.第二次上傳的木馬通過HTTP協(xié)議中的哪個頭傳遞數(shù)據(jù)
查詢post傳參
存在一個特殊的文件/kkkaaa.php文件,檢查第一個文件
追蹤一下,TCP流
這里我們就可以看到,此時的密碼就是“zzz”
將下面的z0,進(jìn)行base64解碼
dirname可以用來檢測所處路徑和下面的所有文件
再過濾,將過濾內(nèi)容全部看一下
基本都是執(zhí)行命令的
2、第二次上傳木馬的時間
此時的958的大數(shù)據(jù)文件,比較醒目,我們查看一下,追蹤一下TCP流
此時z0和z1都是base64編碼,而z2是16進(jìn)制,不難看出這里就是木馬文件的上傳,所以時間就是數(shù)據(jù)包里記錄的時間
3、HTTP的哪個頭部傳遞數(shù)據(jù)
我們將z2的16進(jìn)制拷貝一下,十六進(jìn)制轉(zhuǎn)碼,查看一下數(shù)據(jù)
我們看著里面的內(nèi)容非?;靵y,原因是將php代碼進(jìn)行了混淆,不易發(fā)現(xiàn)。
先簡單還原一下。
上面是進(jìn)行了replace替換操作,
執(zhí)行替換之后,出現(xiàn)了create_function.
create_function可以在內(nèi)部執(zhí)行eval,所以可以實現(xiàn)執(zhí)行命令操作。
$x也是進(jìn)行了一個拼接。
似乎還是不容易查看,那么我們再努力一下
分析:
傳了兩個值,
然后函數(shù)是異或操作
先得出字符串長度,然后,將索引相同的值進(jìn)行異或操作,拼接起來,最后復(fù)制
接收了兩個數(shù)據(jù),一個是HTTP_REFERER,一個是HTTP_ACCEPT_LANGUAGE,
然后兩個數(shù)據(jù)判斷進(jìn)行與運算
成立,將REFERER字段進(jìn)行拆解,通過url的組成拆解
query字段取出復(fù)制q
下面再將q進(jìn)行拆分
去除之后,正則匹配,匹配language,
在第一次匹配,匹配到了zh-CN,因為,的原因結(jié)束了,第一次匹配結(jié)束
第二次匹配,匹配到了zh;q=0.8,第二次匹配結(jié)束
第三次匹配,匹配到en;q=0.6。第三次匹配結(jié)束
這里還存在(),正則里面代表組,所以正則匹配之后,生成了一個數(shù)組,里面的內(nèi)容,數(shù)組賦值給了m
然后又進(jìn)入判斷。
成立,創(chuàng)建了一個SESSION,賦值,創(chuàng)建兩個字符串。
m數(shù)組內(nèi)容拼接i,然后i和前面的值進(jìn)行MD5,取前三位,再賦值,后面亦如此
定義一個空字符串。循環(huán)拼接
判斷h在字符串p的索引,成立,i放入數(shù)組,此時i沒有值,截取p的從第3位到最后
再判斷
成立,拼接進(jìn)數(shù)組的i里面,此時i有值了
判斷是否在里面,再判斷,拼接
先截取,再替換,再base64解碼,最后異或解密。這一步至關(guān)重要
這一步,主要是進(jìn)行數(shù)據(jù)解壓縮
在生成木馬時,進(jìn)行了異或,base64封裝,再替換,最后拼接,完成壓縮。想要解壓縮,就要反其道而行之。
referer數(shù)據(jù)十分可疑,language比較正常,但是也是需要配置,也就是說兩者缺一不可,所以最后,使用的是referer頭和language傳遞數(shù)據(jù)