如何高效挖掘Web漏洞?

腳本小子一枚,當然不甘心只做腳本小子。基本的漏洞原理已經了解了,但感覺自己挖漏洞的效率太慢了?畢竟只是手工,人家都說fuzz大法好,但至今沒找到合適的fuzz工具,難道要自己寫?好吧,還是我的用的工具打開方式不對?作為一個白帽子,如何準確的獲取和大量測試想要的信息?諸如SQL的注入點,大型網站參數很多手工所有肯定不現實?這時候應該怎麼辦TT


我理解的挖漏洞的和大家理解的「挖」漏洞有所不同。

個人人為挖漏洞不是說直接掃描器走一圈然後poc打一遍就完事兒了,還是覺得這個偏向於漏洞的查找、驗證和利用(利用也不太合適,但是想不出來其他詞兒了),也就是說驗證這個漏洞是不是在這個系統上存在,在的話,wooyun補天走一圈,不存在就換個系統繼續來。問題就來了,假如一旦網上沒有可以利用的poc,那豈不是漏洞就「挖」不出來的說?

個人認為漏洞挖掘更像是以下這種情況:

1.利用fuzz工具(即大量隨機數據對程序進行攻擊然後是否會引發crash)對目標系統進行測試,需注意的是:盡量使用最新穩定版本去測試,如果用舊版本很容易會導致挖出來的東西是已經補上的。

2.將發現的crash進行研究並且給他定性,看看是一個不可以利用的bug,還是可以利用的vulnerability/exposé

3.構造PoC(漏洞驗證程序或者說觸發code)對系統進行測試,看看能否將crash復現

4.如能復現,則將該crash進行研究,看看內存怎麼跑的,比如說溢出在哪兒,溢出了多少個位元組(別看很枯燥,後面有用了),記錄下來

5.構造shellcode,然後與poc一起進行測試,看看能否達到shellcode的目的,如果達到了,就說明這個vulnerability就是一個可以利用的漏洞這地方需要考慮使用一些手段繞過aslr和dep,比如rop chain和nop

6.寫報告,丟給bugzilia,比如說qemu那些漏洞丟給redhat啊什麼的,然後等著領個cve編號吧

這裡要說明的一句話是:有crash不一定就有vulnerability,有vulnerability不代表就是一定可以利用的漏洞,就算這個漏洞可以利用,也會有一定幾率和別人撞洞

p.s. 以上可能有不嚴謹的地方,請諸位安全大牛輕噴,畢竟噴是應該的,畢竟科學應該要嚴謹些


腳本小子一枚,當然不甘心只做腳本小子。基本的漏洞原理已經了解了,但感覺自己挖漏洞的效率太慢了?畢竟只是手工,人家都說fuzz大法好,但至今沒找到合適的fuzz工具,難道要自己寫?好吧,還是我的用的工具打開方式不對?

會使用工具進行常規的安全測試,但因為不懂原理,沒有編程基礎,如何成長?

  1. 工具
    1. 學習 Burpsuite 的這幾個模塊
      1. Proxy
      2. Intruder
      3. Repeater
  2. 開發
    1. 書籍
      1. 《Python 學習手冊》
    2. 實踐
      1. 開發一個 burpsuite 的檢測 XSS 的擴展
        1. BurpSuite 擴展開發[1]-API與HelloWold - 園長
        2. 需求:只檢測簡單的反射型 XSS
  3. 安全
    1. 書籍
      1. 《黑客技術攻防寶典:Web實戰篇》
    2. 實踐
      1. XSS 實例模擬,了解 XSS 實際挖掘中的一些要害 http://xsst.sinaapp.com/xss/
      2. MySql注入科普 MySql注入科普 - 瞌睡龍
      3. CSRF 科普 CSRF簡單介紹及利用方法 - VIP

懂一點 Web 編程想學習 Web 安全應該怎麼上手?

  1. 安全
    1. 實踐
      1. Mysql 注入技巧學習 MySQL注入技巧 - Utopia
      2. 前端安全特性練習 Case 1-5 http://prompt.ml/0
      3. SQL 注入練習 Level 1-5 http://redtiger.labs.overthewire.org/
    2. 書籍
      1. 《白帽子講Web安全》
      2. 《代碼審計: 企業級web代碼安全架構》
      3. Felixk3y 推薦的幾篇代碼審計的文章: http://pan.baidu.com/s/1slerWsd 密碼: k3rq
  2. 工具
    1. SQLMap
      1. 找出 http://testphp.vulnweb.com/ 的注入漏洞並用 SQLMap 獲取到數據
      2. 找出 http://testaspnet.vulnweb.com/ 的注入漏洞並用 SQLMap 獲取到數據
    2. Burpsuite
  3. 開發
    1. 書籍
      1. 《Python cookbook》
      2. MDN 的 Javascript 文檔
    2. 實踐
      1. 寫一個 任意數據接收平台
        1. 401 身份驗證
        2. 接收 POST/GET 的數據
        3. 數據查看頁
        4. 數據使用 MongoDB 存放
        5. 隱藏數據查看登錄口


善用已有工具,比如awvs ,burp,subdomainburte等等。大牛好像都鄙視工具黨,不過如果你只是想高效挖洞或者節省時間,用工具輔助無疑是最佳選擇。

創造適合自己的小工具,有時候已有的工具滿足不了自己的需求,就需要開發適合自己的小工具。比如openssl 心臟出血漏洞,有利用exp了,你可以在這個基礎上寫個批量對url進行測試的小工具。

brup大法好,一個網站從註冊到用戶中心按照功能,測試一遍。過程就是各種功能都進行抓包,然後針對不同的功能改包測試越權,注入,上傳等等。

能想到的大概以上幾點,挖的多了就能找到偷懶自動化的解決方案了。舉個例子:

1,自己寫個或者去github上找個烏雲廠商域名獲取工具;

2,利用lijiejie大師傅的子域名爆破工具subdomainburte,對獲取的所有域名進行批量的子域名爆破;

3,利用寫好的openssl批量檢測工具,對所有的子域名進行測試。

都是比較簡單的python腳本就能搞定。。然後一覺醒來坐等漏洞。

另外用用sebug的框架寫點通用的漏洞,它支持對所有url進行批量漏洞的檢測,只要你的poc和url足夠多。

總體來說想高效挖洞,還是得有工具,自己寫的或者自己有的,能使用起來挖到漏洞就是靠譜的。


額,Fuzz只是對於不知道對一個應用如何下手,該從哪裡進行測試,這個時候模糊測試是最有效的,但是fuzz需要不少的運氣。而且耗時。那麼如何進行高效的漏洞挖掘呢。在烏雲看案例自然是能學習到不少奇妙的思路,但是這些思路不一定就對你正要測試的應用管用。不要以為大型程序就不會犯低級錯誤。從弱口令,配置信息,目錄遍歷開始下手尋找可能存在的漏洞點,或者還可以這樣找找看。

某個大廠出現的低級錯誤。不僅會放在QQ群公告,還有github等可以儲存信息的地方,當然郵箱是最多信息的。

諮詢過很多大牛,他們對於web安全測試,首先就是開好burp實時抓包。這樣可以快速發現漏洞。包括但不限於注入,邏輯漏洞,支付漏洞,文件包含等。burp在seay的書中也提及過是非常強大又輕便的安全測試工具。

想做一個合格的白帽子,不當「腳本小子」很難。工具遠比手動要快。一般來說測試web很少去模糊測試。對於文件格式漏洞才更多的用fuzz大法。有下手點有思路的應用一般不會去模糊測試。速度不夠,還靠運氣。雖然fuzz的確檢測出不少嚴重安全漏洞。

不止於烏雲,FB,漏洞時代,sebug及很多大牛博客都可以去參考一下他們的挖掘技巧。但幾乎每一個大牛始終還是離不開工具的~~?●ω●?

---------補充一下---------

像雲舒大牛那樣直接用個腳本做爬蟲批量測試效果也是不錯滴~lijiejie的博客有不少相關Python腳本~


你理解的挖掘和Web漏洞分別是什麼?

從題主的問題我理解為是指挖掘一個網站或者一個企業存在某漏洞

那麼我建議你拿到bugscan的高級帳號,不用自己寫工具了。。。。

掛著伺服器天天進去批量添加一批你的目標站點好了。。。。

接下來就是等結果、整理、驗證、深入或放棄了

還可以考慮多多關注國內外那些經常披露漏洞的站點。如知名的FreeBuf。得知一個漏洞以後再去批量「探索」吧。

當然,基於關注度高的情況···大部分的人也會這樣做,這個時候就得看你單身多少年了。


去wooyun把剛剛確認的漏洞根據標題試了挖一遍,雖不能刷分,但是避免了盲目探測。


分橫向和縱向兩種:

1. 橫向就是發現某站某功能點存在一個漏洞,可以到其他站的同功能點去看看有沒有同類問題。

2. 縱向是發現某站點存在某種漏洞(如CSRF),可以重點測測同站其他地方是否也有同類問題。

橫向的典型案例是發現有開源組件的0Day後,可以寫個腳本快速驗證。shadon這樣的工具可以預處理以減少這塊的資源消耗。

縱向的典型案例是提高在SRC挖掘漏洞並提交的效率。


找個互聯網公司的SRC進去工作(烏雲眾測能進去更好),從處理白帽子提交的漏洞開始,不管是漏洞審核還是SDL。慢慢的你就知道別人發現漏洞的思路和手法,然後就不用再多說了。

當然,這個方式是否高效不好說,可能需要一些時間做積累。不過,肯定是有效的。


先用御劍加超大字典全站掃一遍,然後用wvs等工具挨個爬行找出一些通用的sql注入,xss漏洞。然後再手工分析。


一樓說的不錯,另外就是可以在烏雲上看已公開的漏洞的網站,這些網站一出現漏洞就絕對不是簡簡單單的一個漏洞的,可以繼續挖掘其他漏洞,或者就是同一家公司的類似的網站


現在什麼程度,能找到打卡機和pos機的嗎


我的經驗:

自己的shadon

自己的poc框架

自己的規則庫

試問天下誰人能敵?哪個能跑?


挖到自己的0day然後不就拿下一批這種類型的嗎(滑稽)


推薦閱讀:

如何評價 FreeBuf 最近的新產品「漏洞盒子」?
《神探夏洛克》有沒有漏洞?

TAG:網路安全 | 漏洞 | Web安全測試 |