當(dāng)我們在做滲透測試時弛随,無論廠商項目還是src眾測項目腮郊,都會遇到給一堆登錄系統(tǒng)的URL,然后讓我們自己去測渺鹦,能不能進去全看天的狀況扰法,本文將講一下怎么突破這種封閉的web系統(tǒng),從而進行更深層次的滲透 毅厚,學(xué)完后你會發(fā)現(xiàn)塞颁,其實你就是系統(tǒng)管理員。
0x00 系統(tǒng)繞過:
如果能直接繞過登錄系統(tǒng)界面吸耿,后面的就比較好做了祠锣,目前常見的登錄系統(tǒng)繞過方法有:
- 利用xss獲取到已經(jīng)登陸用戶或者是管理員的cookie,替換cookie后進入系統(tǒng)
- SQL注入利用萬能密碼登錄咽安,常見的萬能密碼有: 'or'='or' 'or 1=1/* admin' or 1=1/*
- 通過掃描系統(tǒng)目錄伴网,目錄遍歷,google hacking找到未授權(quán)訪問的登陸頁面妆棒,直接進入到系統(tǒng)內(nèi)部
- 用burp抓取數(shù)據(jù)包澡腾,更改URL中的id參數(shù),更改用戶名密碼字段(比如直接刪去密碼字段)糕珊,更改cookie字段动分,可以越權(quán)登錄到系統(tǒng)內(nèi)部
0x01 密碼爆破:
大部分情況下,系統(tǒng)登錄頁面都不存在xss红选,目錄遍歷澜公,SQL注入等漏洞,這時候最常用的方法就是爆破和猜解登錄口令纠脾,密碼猜解最關(guān)鍵的就是字典要高效準(zhǔn)確
- 在應(yīng)用層http/https爆破密碼的常用工具是burpsuite 安裝教程請自行百度玛瘸,
2.準(zhǔn)確的用戶名蜕青,密碼字典是高效破解的重中之重 ,一般都是指定幾個常見用戶名 糊渊,嘗試 top500右核,top1000進行爆破 字典不必要太大,最重要的是針對性要強 渺绒,下面是top1000:
鏈接: https://pan.baidu.com/s/1-XztuB8YTfpT5aUBVbmbzA 密碼: 56pb
3.如果還是不能猜解成功贺喝,就要根據(jù)目標(biāo)信息用字典生成器構(gòu)造針對性的字典來猜解了。
0x02系統(tǒng)管理員爆破
因為管理員權(quán)限較高宗兼,通常我都會先進行管理員口令的猜解躏鱼,總結(jié)了一些常見的管理員用戶名字典
https://pan.baidu.com/s/1sOD1-uwhnStaw_LfMOf-sQ密碼: 3yqe
用此用戶名字典,再加上弱口令top1000殷绍,同時爆破系統(tǒng)管理員用戶名密碼
鏈接: https://pan.baidu.com/s/1-XztuB8YTfpT5aUBVbmbzA 密碼: 56pb
0x03普通用戶爆破
常見的普通用戶用戶名是姓名拼音染苛,總結(jié)了普通用戶字典
TOP3000姓名
https://pan.baidu.com/s/1qN9kCFtymP4ugvu3FFkKbA 密碼: hkzp
TOP10w姓名
https://github.com/rootphantomer/Blasting_dictionary/blob/master/top10W.txt
通常可以選擇幾個弱口令密碼主到,比如:123456茶行,123abc,111111登钥,然后配合top10w來猜解登陸口令畔师,一些初始化的默認(rèn)密碼也很簡單,如果能找到配合top10w通常也能爆出登錄口令
0x04 突破加密傳輸
現(xiàn)在的業(yè)務(wù)系統(tǒng)口令傳輸?shù)胶蠖饲岸紩M行加密處理 牧牢,web常見的加密方式有 md5 加密看锉、sha1 加密、RSA 加密塔鳍,在此基礎(chǔ)上總結(jié)了兩種破解方式:
1.利用burpsuite的payload processing功能伯铣,把字典按照加密方式先加密再發(fā)包
2.用字典生成工具生成加密好的字典,然后burp直接加載加密字典
這里推薦的字典生成工具是pydictor轮纫,encode功能內(nèi)置了多種加密算法懂傀,調(diào)用handler工具直接加密自己的明文字典
0x05 突破登錄IP地址限制
如果登錄系統(tǒng)設(shè)置了IP地址白名單,我們可以通過下面的幾個http頭字段偽造IP地址蜡感,用burp抓包后將下面的某個http頭字段加入數(shù)據(jù)包發(fā)送到服務(wù)器
Client-Ip: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
0x06 圖形驗證碼繞過方式
如果在系統(tǒng)登陸界面加上了驗證碼,那么上面的方法基本上就都失效了恃泪,那有什么方法可以繞過驗證呢
1.圖形驗證碼不刷新
在一段時間內(nèi)只要不刷新頁面郑兴,無論登錄失敗多少次都不刷新驗證碼,這個時候就可以使用同一個驗證碼根據(jù)上面的方式進行暴力破解
2.驗證碼失效
不管在驗證碼表單輸入什么樣的數(shù)據(jù)贝乎,都會判斷通過情连,但這種情況很少見
3.圖形驗證碼可被識別,抓包直接可以獲得驗證碼
很多網(wǎng)站的驗證碼都可以在請求數(shù)據(jù)包中找到览效,或者隱藏在request的cookie中却舀,response的源碼中虫几,可以利用burpsuite的macros來匹配response中的相應(yīng)數(shù)據(jù),具體的爆破方法參見下文:
burpsuite爆破密碼(含驗證碼) - CSDN博客?blog.csdn.net
4.圖形驗證碼參數(shù)直接繞過
對于request數(shù)據(jù): user=admin&pass=1234&vcode=brln挽拔,有兩種繞過方法:
一是驗證碼空值繞過辆脸,改成 user=admin&pass=1234&vcode=;
一是直接刪除驗證碼參數(shù)螃诅,改成 user=admin&pass=1234啡氢。
5.萬能驗證碼
滲透測試的過程中,有時候會出現(xiàn)這種情況术裸,系統(tǒng)存在一個萬能驗證碼倘是,如0000、9999袭艺,只要輸入萬能驗證碼搀崭,就可以無視驗證碼進行暴力破解。
6. 驗證碼可被識別
有些圖形驗證碼加入的像素線條過于簡單猾编,使用圖形驗證碼識別工具可以識別出每次更換的驗證碼瘤睹,在平常的漏洞挖掘過程中,如果我們發(fā)現(xiàn)登錄的驗證碼非常簡單且易于識別袍镀,那我們就可以嘗試使用自動化工具來進行登錄破解了默蚌,如 PKAV 的 HTTP Fuzzer
0x07:短信驗證碼繞過
對于網(wǎng)站要求輸入手機號,接收手機短信并校驗短信驗證碼是否正確進行登錄的系統(tǒng)苇羡,突破的主要思路有:
1.短信驗證碼生命期限內(nèi)可暴力枚舉
在驗證碼還未過期的時間段內(nèi)绸吸,可枚舉全部的純四位數(shù)字、六位數(shù)字等較簡單的短信驗證碼设江;
2. 短信驗證碼在數(shù)據(jù)包中返回
和圖形驗證碼一樣锦茁,在response中可以直接獲取到短信驗證碼。
3. 修改請求數(shù)據(jù)包參數(shù)或 Cookie 值繞過
比如有 post 數(shù)據(jù)包:mobile=12435437658&userid=123456, Cookie中有:codetype=1
在特定步驟叉存,修改 mobile=自己的手機號码俩,自己手機就可以收到別人的驗證碼,后面再用別人的手機號和接收到的驗證碼登錄歼捏;
修改 Cookie 中可疑的參數(shù)和值稿存,進行繞過,比如上面修改 codetype=0瞳秽;
4. 修改返回包繞過
提交錯誤的短信驗證碼瓣履,返回包中有: status=false,在Burpsuite中修改為 status=true练俐,即可繞過前端判斷袖迎,成功進入系統(tǒng)。具體還要結(jié)合實際的場景,靈活操作燕锥。
總結(jié):
web系統(tǒng)登陸頁面看似銅墻鐵壁辜贵,但其實只要梳理一遍思路,右鍵看過每一行網(wǎng)站源碼归形,弄懂每個參數(shù)的意義托慨,查看每一個js文件,就會發(fā)現(xiàn)其實自己就是系統(tǒng)管理員连霉,只是我把密碼忘了榴芳,現(xiàn)在我要用上面的方式進入。
轉(zhuǎn)載小鳥大佬
原貼地址:https://zhuanlan.zhihu.com/p/35257242