日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记一次对某企业的渗透测试实战

發(fā)布時間:2025/3/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记一次对某企业的渗透测试实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:Vulkey_Chen

前言

本文總結(jié)一下漫長的滲透測試過程,想盡了各種方法,終于找到了突破口。so沒有絕對的安全,所謂的安全性其實(shí)都是相對的~

信息踩點(diǎn)

在這里其實(shí)沒辦法去做一些有價值的收集,只能踩點(diǎn),踩坑。

信息難點(diǎn):

傳輸加密:

要做滲透的目標(biāo)是一個APP,根據(jù)抓到的請求包發(fā)現(xiàn)這個APP是經(jīng)過某產(chǎn)品加固過的,所以HTTP的POST請求正文部分(Data)是神奇的密文~

分析難點(diǎn)

分析:

  • 信息踩點(diǎn)其實(shí)也是解決難點(diǎn)的過程,在這里我們嘗試對APP進(jìn)行逆向,發(fā)現(xiàn)并沒有什么東西,因?yàn)楸患庸塘恕?/li>
  • 對APP進(jìn)行功能的整理,逐個功能點(diǎn)進(jìn)行抓包分析:
    • 請求正文(data)雖然是密文,但是請求的URI還是真正按照對應(yīng)的功能去請求的(參考URI的命名和功能的相對應(yīng)性)

建立設(shè)想(A):

在這里請教了師傅,說可能GET請求參數(shù)并沒有經(jīng)過加密,而后臺很有可能是這樣寫的:

<?php $mstsec = $_REQUEST['vulkey'];//注意這里使用的是$_REQUEST 默認(rèn)情況下包含了 $_GET,$_POST 和 $_COOKIE 的數(shù)組。 ?>
  • 一點(diǎn)即通,首先我可以去測試是否是真的這樣的后端處理接收。
  • 為了滿足第一步的驗(yàn)證,我需要想辦法找到一個GET請求的包并且有帶有GET參數(shù),這樣我才能判斷規(guī)則,不然就是大海撈針。

有價值的東西

其實(shí)對APP做滲透測試,大部分情況下還是對網(wǎng)站做滲透測試。

所以在這里抓包獲取到的HOST,直接對其進(jìn)行了前期的常規(guī)信息刺探(端口、目錄、指紋…)

中間件:Tomcat

目錄開放:/fileUpload/

端口開放:8001 1444

APP三個功能點(diǎn):個人用戶、資金管理、生活欄目

滲透開端

一開始粗略的對整個APP進(jìn)行抓包,然后做一些簡單的測試,發(fā)現(xiàn)并沒有那種明面上的漏洞(SQL注入、XSS等等…),但是獲取了這幾條URI:

  • /userCenter/getUser?[獲取用戶信息URI POST]
  • /userCenter/pay/getSign?userSign=?[獲取Sign POST]
  • /userCenter/life/showShop?pId=?[獲取商品信息 GET]
  • /userCenter/showQRcode?[獲取二維碼圖片 POST]
  • 不小心日偏

    仔細(xì)的對每個功能點(diǎn)進(jìn)行測試的時候,抓到了一些”逃出加固命運(yùn)”的明文報文。

    • 發(fā)現(xiàn)了S2-005這個歷史悠久的Struts2框架遠(yuǎn)程代碼執(zhí)行問題:

    執(zhí)行了whoami:

    • 發(fā)現(xiàn)了SQL注入,這里需要做一些簡單的繞過(e.g.?AandND 1 like 1):

    然而沒看清楚,一下次給日錯地方了…很尷尬。

    關(guān)聯(lián)分析

    日偏后我分析了一下兩者的特征,發(fā)現(xiàn)應(yīng)該出自同一個程序員之手,并且這個程序員很喜歡使用駝峰命名法…

    驗(yàn)證設(shè)想(A)

    在這里我嘗試根據(jù)每個URI功能點(diǎn)生成GET請求參數(shù)的dict:

    • /userCenter/getUser?[獲取用戶信息URI POST]

      dict: [uId, userId, uName, userName ...]

    • /userCenter/showQRcode?[獲取二維碼圖片 POST]

      dict: [uId, userId, uName, userName, imagePath, filePath, codePath, fileName ...]

    生成請求:

    GET /userCenter/getUser?uId=10001 GET /userCenter/getUser?userId=10001 GET /userCenter/getUser?uName=test001 GET /userCenter/getUser?userName=test001 ... GET /userCenter/showQRcode?uId=10001 GET /userCenter/showQRcode?userId=10001 GET /userCenter/showQRcode?uName=test001 GET /userCenter/showQRcode?userName=test001 GET /userCenter/showQRcode?imagePath=../../index.do GET /userCenter/showQRcode?filePath=../../index.do GET /userCenter/showQRcode?codePath=../../index.do GET /userCenter/showQRcode?fileName=../../index.do ...

    結(jié)論

    現(xiàn)實(shí)殘酷,打敗了設(shè)想。

    絕處逢生

    就在想放棄的時候,決定打算”垂死掙扎”一下,重新開始”審視”了各個功能模塊,眼光又轉(zhuǎn)到了這個二維碼地方。(因?yàn)槎S碼的”皮相”,所以很多人都會忽略它)

    這里我去解析了二維碼的地址:

    失算…失算…,當(dāng)去訪問這個地址的時候,響應(yīng)報文中會多出這樣的頭:

    ... Set-Cookie: USESSIONPID=xxx; ...jpg content

    這時候我就知道是時候修改uId了,然而修改了沒用,根據(jù)多年的經(jīng)驗(yàn)(吹牛)我認(rèn)為是uSign參數(shù)起了作用,這時候?qū)Sign進(jìn)行刪除發(fā)現(xiàn)不行,會提示uSign參數(shù)不存在,當(dāng)我置空這個參數(shù),發(fā)現(xiàn)居然成功了又返回了用戶的Cookie憑證…好吧,說明這里有一個邏輯問題…

    到這下去就很簡單了,獲取管理員權(quán)限有上傳點(diǎn),測試使用jhtml的后綴可以直接繞過上傳,但是上傳上去之后,直接訪問就給你download下來了(很多次遇到這種問題…)

    好吧,管理員也沒啥能危害到服務(wù)器的東西了…不過回過頭再來看看,二維碼這個點(diǎn)還沒啃完呢,fileName這個參數(shù)還沒去測試,fuzzdb了解一下,先懟lfi的字典進(jìn)去跑(有個坑這里一定要填寫完整[uId, uSign]),然后再進(jìn)行Fuzz:

    從intruder模塊(BurpSuite)的測試結(jié)果發(fā)現(xiàn)這里是可以讀取文件的,并且判斷這個web服務(wù)是root權(quán)限運(yùn)行的因?yàn)槲倚薷膄ileName參數(shù)的值為../../../etc/shadow時我直接可以獲取到文件的內(nèi)容,從而獲取root賬號權(quán)限的密碼:

    (解密不了),怎么通過這個本地文件讀取漏洞拿到shell?我的思路是通過讀取tomcat的密碼配置文件然后進(jìn)入tomcat的Web管理部署war包進(jìn)行g(shù)etwebshell,但是這里做了一圈的目錄猜解,死活沒找到tomcat的應(yīng)用目錄…

    讀取/root/.bash_history啊(這個文件是記錄root用戶輸入過的命令-老師傅提醒到),突然間我茅塞頓開,是啊,一般運(yùn)維人員會通過命令行進(jìn)行管理,那么肯定會有目錄出現(xiàn)啊。

    我修改fileName參數(shù)的值為../../../root/.bash_history,搜索下關(guān)鍵詞tomcat就發(fā)現(xiàn)了:

    成功的發(fā)現(xiàn)了root用戶的命令歷史并且找到了Tomcat的應(yīng)用安裝路徑,那么我只需要修改fileName的參數(shù)值為../../../../home/apache-tomcat-7.0.67/conf/tomcat-users.xml,直接就可以讀取到Tomcat的管理員賬號權(quán)限,從而直接通過外部訪問的形式進(jìn)入Tomcat的管理界面進(jìn)行控制。

    登錄進(jìn)來之后直接到WAR file to deploy功能點(diǎn),進(jìn)行war包的部署(在這里使用壓縮的方式將網(wǎng)站后門壓縮成zip格式然后修改后綴名.zip為.war即可),點(diǎn)擊Browser選擇war包然后點(diǎn)擊Deploy:

    這里部署上去之后回到Applications功能點(diǎn),可以看到部署的情況,點(diǎn)擊你的命名鏈接然后加上你壓縮的文件名(這里我的是 /vulkey/vulkey.jsp)使用Webshell管理工具進(jìn)行管理,看見了我久違的界面,久違的root權(quán)限:

    總結(jié)

    因?yàn)楹鬂B透可能會影響正常業(yè)務(wù)的運(yùn)行,所以沒有繼續(xù)進(jìn)行下去,很遺憾,希望下次有機(jī)會。
    END:
    送給大家一句話:心細(xì)則挖天下。

    有問題大家可以留言哦,也歡迎大家到春秋論壇中來耍一耍??>>>點(diǎn)擊跳轉(zhuǎn)

    總結(jié)

    以上是生活随笔為你收集整理的记一次对某企业的渗透测试实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。