<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    業務漏洞挖掘筆記

    VSole2022-01-15 22:42:21
    多年的實戰業務漏洞挖掘經驗,為了讓今后的業務漏洞挖掘工作更清晰,以及盡可能的把重復性的工作自動化、半自動化,所以花費很大精力做了這個筆記。
    具體操作流程:
    得到測試目標-目標資產范圍確定-資產收集-資產管理-資產分類-具體業務功能理解-業務漏洞測試-邏輯漏洞測試-提交報告

    資產管理

    很多文章和大佬都講過,滲透測試的本質就是信息收集,收集到的信息越多,發現漏洞的概率越大,這些信息被稱為資產

    那么常規的資產收集手段,思路已經千篇一律了,圍繞著子域名和IP收集,其實資產收集的核心思想是,確定資產范圍,確定資產范圍就需要先分析出資產特征,然后通過各種手段全網尋找符合特征的資產,這叫做資產識別,把收集到的資產分類編輯的具有較高可用性,叫做資產管理

    如當你要去干一個目標之前,首先第一步肯定是要知道目標是啥,了解目標是做什么的,憑借安全測試人員的常識和經驗分析目標存在那些特征,來確定資產范圍來收集符合特征的資產 就是資產收集

    目標資產

    確定資產范圍/目標畫像

    需要收集到的信息

    1. 域名、子域名
    2. 網頁內容特征信息
    3. ICP備案信息
    4. WHOIS聯系信息
    5. SSL/TLS證書信息
    6. DNS解析信息
    7. WHOIS-NAMESERVER信息
    8. IP以及同IP其他端口和站點服務類型和版本等基礎信息
    9. C段、B段、等相關ip段
    10. 目標全名、介紹、招股書、所在地/聯系方式/郵箱/電話/github
    11. 目標負責人、法人、管理員、員工 姓名/所在地/聯系方式/郵箱/電話
    12. 客戶端應用windows/android/ios/mac/公眾號/小程序
    13. 其他

    收集這些信息、會大大增加挖到業務漏洞的成功率,但是遇到中大型政企相關目標,他們的業務是很多 業務線很長,通過手工去收集管理,無疑是個體力活,但有很多的資產收集工具,稍微能幫助安全測試人員降低些工作量,我用的都是自己開發的,哈哈哈,如圖。

    功能資產

    收集到資產后,就要進行資產管理、資產分類,以便于安全測試,更好的可視化,可以幫助快速定位到風險點。


    這些信息在安全測試時都是需要去測試的點和很可供參考的信息,如:

    1. 一個組建應用突然爆出0day,可以快速第一時間定位到目標資產中存在該組建的資產。
    2. 租用若干vps,7x24小時爆破目標資產中可以爆破弱密碼的資產。
    3. 租用若干vps,7x24監控資產變化,以便發現高風險的點。

    資產監控

    僅僅是收集到這些資產是不夠的,要持續監控業務的變化,在職業刷src或者apt攻擊者的角度,單單過一遍剛收集到的資產是不能滿足持續性業務漏洞挖掘;從職業刷src的角度,過一遍收集的資產,已經發現了所有漏洞并已經提交后修復,或者用當前漏洞測試方法并沒發現有漏洞,這樣業務是安全的,但這個安全是在當下時間的,企業要發展、要解決當前問題,就會出新業務、或者不斷的修復更新舊問題,這就是業務的變化,通過持續性監控業務變化,最快速度的發現變化,對變化進行安全測試、漏洞挖掘。有經驗的刷src的同學都知道,新業務和剛更新過的業務發現漏洞概率都很高。

    業務變化主要分為三類:

    • web業務的變化
    • IP和端口的變化
    • 客戶端軟件的更新迭代

    那么資產監控這么大的工作量,靠手工是不可能的必須要靠代碼實現,至少半自動化、甚至自動化。

    漏洞

    業務面臨的風險

    數據被竊取、權限被控制、業務不能正常運行。

    • 機器權限
    • 功能權限
    • 相關應用服務權限
    • 數據泄露

    什么是漏洞?

    一個產品的實現、總會有很多邏輯包括在內,如一個網購網站,他需要的功能,

    1. 商品展示、商品分類搜索、商品購買等。
    2. 網站后臺管理 商品管理、訂單處理、相關反饋處理等。
    3. 個人用戶管理、用戶注冊、用戶登錄處理、用戶個人資料編輯、收獲地址管理、訂單管理等。

    這是一個最基礎的網購平臺網站,單純用技術角度來描述,你買一件商品 其中用到經過多少技術。

    我要開個網購網站,最基礎的 首先要有一個域名、一臺服務器、服務器上裝相關web服務軟件,如apache(web服務軟件)+php(web腳本語言)+mysql(數據庫)。

    界面展示,需要前端開發做界面展示、前端程序員需要掌握的技術、html+css+javascript+ps等,為了適配移動端或者技術進階需要html5+css3+jquery還有一些前端常用的框架vue\bootstrap\AngularJS\webpack等,還要盡量讓前端瀏覽器處理更快 首屏速度更快,還要有一定的設計能力,讓界面看著更美觀嗎,用戶打開瀏覽器看見的頁面就是通過這些技術實現。

    后端開發、根據業務場景情況、最優選擇一個適合業務的后端開發語言,如phpodejs\jsp\aspx\asp\其他web cgi等,就選php吧,資深后端程序員必須框架開發,請參考 PHP的25種框架 目前國內php最火框架ThinkPHP,后端開發主要為了實現 業務邏輯、如那些表單操作多的功能,商品搜索、用戶登錄注冊、購買、個人信息修改、商品修改等功能,都需要通過前端頁面通過http/s協議傳輸到后端 通過php之類后端開發語言進行處理。

    數據庫建設,根據業務場景情況、最優選擇一個適合業務的數據庫,數據庫分為sql數據庫、如MySQL\SQL server\Oracle\PostgrcSQL等,nosql數據庫Mongodb\Redis等,用戶的提交的數據就保存在這些數據庫里,如賬號密碼、個人信息、訂單信息等,管理員存放的商品信息 也都在數據庫里,通過腳本語言的邏輯處理調用數據庫里的數據 展示到前端頁面。

    選擇一個靠譜的web服務、如apache\iis\Nginx\Lighttpd\Tomcat等其他web服務軟件,還要考慮并發、擴容、災備等相關技術問題,面對1w用戶 10w用戶 100萬的用戶 1000萬乃至上億,都有最優不同的應對方式方法策略,當然這都是架構師、全棧程序員考慮的問題,我們web黑盒測試的漏洞挖掘選手,只需要考慮,這些流程 這些點上,那些地方最容易 最常出現漏洞?

    因為有了功能,所以有了漏洞,需要用到數據庫的web業務就很有可能出現sql注入,需要有文件操作或系統命令執行的地方,就會出現命令注入或任意文件操作的漏洞,信息管理系統自然存在信息泄露的風險....

    話歸正題、什么是漏洞?比如一個登陸功能,我通過技術手段,未經許可登陸進其他用戶或者管理員賬號,那么這其中肯定是存在漏洞的,漏洞列表如下....

    黑盒測試相關漏洞


    如圖所見,大多數技術相關漏洞都是因為注入非法字符串導致出現漏洞,xss是js代碼注入,js可以控制當前瀏覽器頁面;sql注入是注入的sql命令,sql是操作數據庫的語言;命令注入,操作系統命令可以控制機器; 就因為用戶輸入的非法字符串,被不安全代碼處理,讓 操作系統/編程語言/數據庫/瀏覽器 理解執行后,導致出現了漏洞。

    • Xss
    echo $_GET[ 'xss' ];
    ?>
    
    • Sql
    $id=$_GET["id"];
        if (isset($id)){
            //$statement = $link->prepare("SELECT * FROM users where id=".$id);
            $result = mysqli_query($link,"SELECT * FROM users where user_id=".$id);
            if (!$result) {
                printf("Error: %s", mysqli_error($link));
                exit();
                }
            while($row = mysqli_fetch_array($result)){
                    echo $row['first_name'];
                    echo "
    ";
                }
        }else {
            echo '{"text":"error"}';
        }
    ?>
    
    • Ssrf
    ini_set("display_errors", "On"); 
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $_GET['url']);
    #curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    #curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
    curl_exec($ch);
    curl_close($ch);
    ?>
    
    • 服務端通過內網訪問用戶輸入的url鏈接就是ssrf
    • 文件讀取
    • Xxe
    • xml注入
    • 邏輯漏洞
    • 命令注入
    /*
    命令注入案例
    */
    if( isset( $_GET[ 'Submit' ]  ) ) {
        // Get input
        $target = $_REQUEST[ 'cmd' ];
    
        // Determine OS and execute the ping command.
        if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
            // Windows
            $cmd = shell_exec( 'ls  ' . $target );
        }
        else {
            // *nix
            $cmd = shell_exec( 'dir ' . $target );
        }
    
        // Feedback for the end user
        echo "
    {$cmd}
    ";
    }
    
    ?>
    
    • 代碼注入
    • php/nodejs/jsp/aspx/asp/python/golang/c/c++等等編程語言的寫入與拼接。
    • 信息泄露
    • 上傳漏洞
    • 上傳可執行文件到可執行目錄,或者被服務端執行。

    那么這些漏洞都是由http協議傳輸,測試漏洞存在的第一步,修改請求參數值,重放判斷響應包是否與正常請求的響應包有所不同,如:

    正常


    異常

    這是一個很典型的sql報錯注入判斷方式。

    當然,判斷是否存在漏洞依據很多,大體分為:

    • 響應內容
    • 響應時間
    • Dnslog/Httplog判斷
    • 瀏覽器Dom渲染后的Html
    • 瀏覽器DevTools Console

    根據實際情況,選擇最適合的判斷方式,其實常見的、標準化的http傳參方式,完全可以依照以上列舉的規則,做出一個減輕工作量漏洞測試工具,如下圖

    1. 通過修改請求參數值后追加 單雙引號 逐個重放,遍歷每個參數,確認那個參數會引起響應異常。

    2. 對異常的參數,通過修改請求參數值后追加payload 來檢測命令注入、ssrf、代碼注入、sql注入、信息泄露等漏洞。

    3. 如果響應Content-Type=html,用瀏覽器重放請求來檢測domxss、和抓取dom渲染后頁面url、domain等相關信息。

    對于一些點擊,和頁面的表單,其實打開瀏覽器挖洞時 你可以加個參數--remote-debugging-port=9222 然后遠程調試 可以做一些,便捷的工具,如自動表單填寫,自動點擊頁面等功能,輔助測試,減少不必要的重復工作。

    調試瀏覽器

    自動表單填寫


    對于常規的業務場景,從目標范圍確定,資產收集到漏洞檢測,盡可能的規范化,流程化,工具化,做黑客絕對不應該是整天去手工修改http通信里的參數,在url里加單引號 加</span></code><span style="outline: 0px;max-width: 100%;font-size: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;">,修改id遍歷,能不能酷一點 做個帥一點的黑客?</span></p><p style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="0.8972477064220183" data-s="300,640" src="https://mmbiz.qpic.cn/mmbiz_jpg/GzdTGmQpRic0nmYuOqib9blgwWj39Ks56C7WFnCkiax3YBSNQKHRaeia0ZBP3Q4LY62SU09s4NmjDs2FuAx63qiccwA/640?wx_fmt=jpeg" data-type="jpeg" data-w="545" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 262px !important;"></p><p style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一直幻想著通過自動化挖洞躺賺的一天....</span></p><p style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code style="outline: 0px;max-width: 1000%;text-align: left;white-space: pre-wrap;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">作者:guimaizi,文章來源:先知社區</span></code></pre></section><p><br></p><p style="outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;font-size: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(255, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;">推薦關注(紅隊方向):</span></strong></p><section class="mp_profile_iframe_wrp"><mpprofile class="js_uneditable custom_select_card mp_profile_iframe" data-pluginname="mpprofile" data-id="Mzg5OTY2NjUxMw==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/2tA4hG6O9pyRtgZD1QZjuZKGousFdK6w43nmK1fPKzTrwgJ1ZzVDkJrz2zQ5bDxJ2icbJN5R70PUXx3IKibzwNtQ/0?wx_fmt=png" data-nickname="橘貓學安全" data-alias="" data-signature="每日一干貨?" data-from="0"></mpprofile></section>

    漏洞挖掘box-sizing
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    跨站腳本英文全稱(Cross Site Scripting跨站腳本),為了不和css層疊樣式表(英文全稱:Cascading Style Sheets)混淆,因此將跨站腳本縮寫為XSS。本期我們講解一下XSS漏洞原理和利用檢測。
    繞過登錄頁面的七種常見方法這篇文章是關于繞過由于網站的弱點而發生的登錄頁面功能。常見的七種方式繞過 SQL 注入通過跨站點腳本通過操縱響應返回包繞過爆破攻擊限制繞過目錄爆破攻擊默認憑據繞過通過刪除請求中的參數繞過 SQL 注入我以 Mutillidae 為例進行演示。我們以管理員身份登錄。在您的情況下,當它不起作用時嘗試其他payload,并使用 SQLMap 工具dump用戶名和密碼。并顯示彈出窗口,因此您可以通過 XSS 嘗試 CSRF 并查看受害者憑據。這是它的 CSRF payload
    業務漏洞挖掘筆記
    2022-01-15 22:42:21
    功能資產收集到資產后,就要進行資產管理、資產分類,以便于安全測試,更好的可視化,可以幫助快速定位到風險點。租用若干vps,7x24監控資產變化,以便發現高風險的點。有經驗的刷src的同學都知道,新業務和剛更新過的業務發現漏洞概率都很高。漏洞業務面臨的風險數據被竊取、權限被控制、業務不能正常運行。網站后臺管理 商品管理、訂單處理、相關反饋處理等。
    為什么會有這篇文章,其實是一個非常有意思的事情。在安全領域,有非常多涉及Word、Execl、PDF、CHM、PPT等等文檔的攻擊手法,從Web領域到紅隊領域,使用各種文檔來進行攻擊的姿勢層出不窮,本文希望起到一個拋磚引玉的功能,盡量把各種使用“文檔“的攻擊姿勢講全。那么廢話不多說,讓我們先從最經典的使用文檔進行釣魚的功能講起。
    0x01 苦逼的測試任務 某一天,我照常在學校的CTF群和學長吹水,突然管事的學長在群里發了一張圖,這個月輪到我們學校對省內的某旅游相關企業進行漏洞測試。上面的老師自然而然把這個任務分配給我們CTF戰隊,要求是找到漏洞,能Getshell的點證明能Getshell即可,不要深入利用。
    這篇文章主要是通過前端JS來尋找接口進行測試,尋找漏洞成功進入后臺后,進行后臺文件上傳html。僅供學習。
    也可以輸入多個域名、C段IP等,具體案例見下文。功能齊全的Web指紋識別和分享平臺,內置了一萬多條互聯網開源的指紋信息。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类