原來是想著每個點都自己寫的,后來覺得重復造輪子花費這么多時間似乎沒什么必要,網(wǎng)上文章已經(jīng)這么多,而且大家都寫的這么好了,自己也沒什么新增有用有創(chuàng)意的點。逐,匯總此文。
做Web滲透測試也算是有接近兩年的實戰(zhàn)經(jīng)驗了,認為常規(guī)滲透就分三個步驟:
1、信息收集;2、漏洞測試;3、漏洞利用;其中,漏洞測試和漏洞利用就是把自己所有會的姿勢全部試一遍,需要平時積累的基本功,測試和利用的時候一把梭就完了。
一個比較簡陋的腦圖:

信息收集:
先說信息收集,如果說可以拿下站點是一個概率問題的話,那么信息收集的越全面,則攻擊面越廣,概率就越大。
信息收集有時候需要某個敏感信息靈機一動,但大多數(shù)時候需要完整的流程,收集完整的信息。
1、普通搜索引擎
普通的搜索引擎配合google hack的語法,可以較為精確的搜集到我們想要的信息,
比如搜一個站的后臺:"insite:xxx.com inurl:admin"
詳細的語法戳右邊鏈接:https://blog.csdn.net/u012991692/article/details/82937100
2、空間搜索引擎
空間搜索引擎與普通搜索引擎不同,普通搜索引擎爬取網(wǎng)站頁面信息,空間搜索引擎會爬取端口的banner等信息
常用的空間搜索引擎有shodan、fofa、ZoomEye和BinaryEdge等。
常用語法戳右邊鏈接:https://www.cnblogs.com/miaodaren/p/7904484.html
大型項目實用技巧移步:http://www.itdecent.cn/p/ee22367303d5
3、子域名收集
直接搜索:site:xxx.com
站長之家查詢子域名:http://tool.chinaz.com/subdomain/
在線資產(chǎn)搜集,子域名&C段:http://www.yunsee.cn/info.html
通過爆破的方式搜集子域名:layer子域名挖掘機
更全一些的子域名收集參考鏈接:https://blog.csdn.net/qq_41880069/article/details/83037081
4、端口服務探測
比較常用端口服務方式有nmap
nmap常用參數(shù)戳右邊鏈接:https://blog.csdn.net/zz_Caleb/article/details/95335060
nmap所有參數(shù)戳右邊鏈接:https://blog.csdn.net/qq_26090065/article/details/80285088
還有偷懶的方式,瀏覽器裝一個shodan的插件,訪問每個網(wǎng)站都能看到常用端口是否開放的信息:

直接點擊view host details可以看到端口對應的信息,也可以直接查看shodan檢測出的漏洞等信息:

chrome下載地址:https://chrome.google.com/webstore/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap
火狐下載地址:https://addons.mozilla.org/en-US/firefox/addon/shodan_io/
其他:
其他信息收集還有網(wǎng)站指紋識別,比較推薦使用云悉,如果在內(nèi)網(wǎng)用不了云悉的話可以使用whatweb,kali內(nèi)置whatweb。
同IP多個域名等,也可以在云悉查看。
以及web目錄爆破等,可以用dirbuster或御劍等工具。
漏洞測試:
漏洞測試主要還是web漏洞,因為非web的大部分都是通用漏洞,一般都被人抓肉雞抓了,然后打上補丁了。
web漏洞主要還是sql注入,xss,文件上傳,代碼&命令執(zhí)行以及弱口令等 。
sql注入:
關于sql注入的原理就不多說了,sql注入測試主要是為了檢測能否改變原有的sql語法結構,可以的話才考慮進行下一步。
若可以改變原有的語法結構,就可以嘗試判斷注入是否存在限制,如waf什么的。可以fuzzing注入所需的關鍵字,然后替換被限制的關鍵字進行繞過。
這里附一個mysql常用的fuzzing表(其他數(shù)據(jù)庫的晚點整理后補上):
select、union、concat、or、and、limit、&&、||、group by、order by
into outfile、into、into dumpfile、having、where、insert、update、delete、updatexml
if、rand、from、information_schema、mid、ord、ExtractValue、/*、大小寫
除了對關鍵字fuzzing進行過濾外,還有一些其他方法。比如參數(shù)污染,由于檢測的參數(shù)跟傳入的參數(shù)不一致,導致繞過。
以及一些waf需要考慮性能的,可能就會對靜態(tài)文件進行放行,就可能存在這樣的繞過方式:
xxx.com/xxx.php?id=1 and 1=1?xxx.js,這樣就可能會被誤以為是js文件,從白名單繞過。
或者在請求包中加一堆垃圾數(shù)據(jù),使得waf難以檢測,直接放行等。參考:
https://mp.weixin.qq.com/s?__biz=MzI5MDU1NDk2MA==&mid=2247488830&idx=1&sn=762f90f6ce3b98c76e74f194c2c0fc14&chksm=ec1f4001db68c917007d6b8f66737e91b3238afba7df379269b587e3cdc691e2c9257e3c4b16&mpshare=1&scene=1&srcid=&sharer_sharetime=1583659486027&sharer_shareid=9bb36e6ef190787654eb1204658c7215#rd
Xss:
?sql注入執(zhí)行sql語句,xss執(zhí)行js。和注入一樣,也是需要改變原有的結構,達到執(zhí)行js的效果。
fuzzing可以看這里:https://github.com/payloadbox/xss-payload-list
文件上傳:
網(wǎng)站常常有文件上傳的功能,若對上傳的文件類型不做限制或限制存在缺陷,則可以上傳一個可執(zhí)行文件,如php和jsp,從而在網(wǎng)站上解析執(zhí)行。
最常見的繞過是開發(fā)人員直接將文件后綴的放在前端,使用burp抓包修改文件后綴就可以繞過。
以及判斷存在缺陷的,以php為例,常見上傳后綴有:“.php”、".Php"、".php."、".php "(左邊的這個php后面是有空格的,windows下的會直接把文件名最后的空格和.去掉)。
還有根據(jù)文件類型進行判斷的,上傳時抓包修改content-type類型,上傳時修改這個屬性,是不會改變文件作用的,所以可以以此進行繞過。常見類型有:text/plain、 text/html、image/jpeg、application/octet-stream
詳細的content-type類型戳這里:
文件上傳fuzzing字典戳這里:https://github.com/mai-lang-chai/FUZZ-dic/tree/master/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/upload-fuzz-dic-builder-master/dic
應該和文件上傳一塊講的還有一個解析漏洞:https://tool.oschina.net/commons/

解析漏洞詳情:https://blog.csdn.net/weixin_30952535/article/details/99423388
這個圖比較舊,少了個CVE-2017-15715:https://blog.csdn.net/nzjdsds/article/details/82049718
目前比較有利用價值的是nginx的fig_pathinfo的解析漏洞,phpstudy下用nginx啟動默認還存在該漏洞。
代碼&命令執(zhí)行:
黑盒測試中存在或者發(fā)現(xiàn)rce的概率并不高,這類漏洞一般通過白盒測試發(fā)現(xiàn)
常見通用漏洞可以戳這里:https://github.com/Mr-xn/Penetration_Testing_POC
弱口令:
弱口令比較常見的賬號是admin,密碼為:admin、123456、12345678、admin888
一個比較全的弱口令集合:https://download.csdn.net/download/tsyang36/10752470
其他:
其他漏洞還有csrf:https://baike.baidu.com/item/%E8%B7%A8%E7%AB%99%E8%AF%B7%E6%B1%82%E4%BC%AA%E9%80%A0/13777878?fromtitle=CSRF&fromid=2735433&fr=aladdin
ssrf:https://xz.aliyun.com/t/2115
xxe:http://www.itdecent.cn/p/ec2888780308
以及邏輯漏洞、短信轟炸等。。
漏洞利用:
在我看來,漏洞測試跟漏洞利用還是有些區(qū)別的,因為常常會有存在漏洞,但卻無法利用的場景。這樣漏洞就顯得很雞肋。比如、sql注入使用單引號響應500,而且把sql語句的錯誤都爆出來了。但是利用的時候發(fā)現(xiàn)做了限制,select等關鍵字被過濾了,這樣只能做到查出數(shù)據(jù)庫名稱,卻不能查詢數(shù)據(jù)庫的其他內(nèi)容。
sql注入:
?sql注入入門神帖,手工注入:https://www.freebuf.com/articles/web/120747.html
手工盲注:https://www.freebuf.com/articles/web/120985.html
注入神器sqlmap簡易教程:http://blog.csdn.net/zhaozhanyong/article/details/41011193
sqlmap各參數(shù)詳解:http://blog.csdn.net/u012763794/article/details/52638931
sqlmap雖然是目前的注入神器,不過曾經(jīng)有一次sqlmap測出存在access數(shù)據(jù)庫注入,卻難以利用的情況。因為access用的少,自己當時也懶得去琢磨access的sql語句,后來用老牌的注入工具穿山甲跑出來就跑出來了。
老牌注入工具:穿山甲,阿D,明小子??梢陨晕⒂浺幌拢覆欢奶齑_實需要
普通注入和盲注區(qū)別在于注入后的回顯,但人類是很機智的,即便不能回顯,通過數(shù)據(jù)庫可發(fā)送請求的功能,一樣可以把注入的信息發(fā)送出來。dnslog技巧看這個貼子:https://bbs.ichunqiu.com/thread-22002-1-1.html
Xss:
大部分人知道xss測試的時候彈框框,由于非存儲型的xss需要交互,而且利用危害低,所以利用這個漏洞的人比較少。
xss漏洞在web中非常常見,所以防范措施也非常多。比如有些瀏覽器會不執(zhí)行在url中出現(xiàn)的js代碼。剛弄清楚原理的同學還需要了解一下和xss相關的httponly響應頭,以及csp策略。
這里推薦一款xss利用平臺:http://xsspt.com
除去打cookie以外,還內(nèi)置了其他功能。
百度搜到了這個平臺的源代碼,應該是一樣的,感興趣的朋友可以自己搭一下:https://download.csdn.net/download/wang3890161/10406644
另外,關于xss的利用,還有另一個工具--beef。kali下內(nèi)置,beef系列帖子感興趣可以看一下:
瀏覽器攻擊框架BeEF Part 1:https://www.freebuf.com/articles/web/175755.html
webshell管理工具:
目前主流的webshell管理工具就三款,中國菜刀、冰蝎、蟻劍。
其中中國菜刀是老牌的webshell管理工具,隨著攻防技術的不斷發(fā)展,使用量正在逐漸減少。
百度一下中國菜刀有很多假冒的官網(wǎng),不建議下載使用。
冰蝎應該是目前使用最多的webshell工具了,自帶二進制加密,可以直接反彈metasploit的shell。不過由于冰蝎應用太廣泛,所以現(xiàn)在很多安全廠商的安全設備都能對其進行檢測。
冰蝎官方下載地址:https://github.com/rebeyond/Behinder
蟻劍目前應用也非常廣泛,自行開發(fā)編碼器對通信進行加密和新增插件,可擴展性強。
蟻劍官方下載地址:https://github.com/AntSwordProject/antSword
蟻劍下載完了不能直接打開就用,注意下安裝文檔的加載器。
大馬用的不多,spy系列應該比較常見一些:
這里很多webshell木馬,自行探索:https://github.com/tennc/webshell