使用python處理子域名爆破工具subdomainsbrute結果txt


近期學習了一段時間python,結合自己的安全從業經驗,越來越感覺到安全測試是一個體力活。如果沒有良好的coding能力去自動化的話,無疑會把安全測試效率變得很低。

      作為安全測試而言,第一步往往要通過爆破目標站的一級域名開始。作為安全而言,最薄弱的地方往往不是主站,而是二級和三級域名。通過大牛lijiejie的工具subdomainsbrute我們可以輕松的獲得一個子域名列表和IP的txt文件:

www.1.edu.cn                    125.x.x.x
cs.2.edu.cn                     125.x.x.x
my.3.edu.cn                     182.x.x.x

      作為安全測試最朴素的思想一定是,對整個網站的端口進行相關的掃描。分析lijiejie安全工具的源碼我們可知dns爆破主要是通過多線程對dns服務器進行請求,我們不可避需要對所有爆破出的url一個個粘貼到瀏覽器中進行測試,這樣的效率非常低,而且容易狗帶。同時鑒於這種黑暗的txt輸出格式,我們需要把所有ip都手工ctrl+c,ctrl+v到一個新的txt中才能進行nmap掃描,每次工作的時候我的心情總是崩潰的。學習了python之后我們可以通過比較簡單的方法來完成對上述工作的自動化。

      主函數的設計思路非常簡單,主要就是三個簡單的功能,格式化subdommain輸出結果,放進nmap掃描,對域名進行url試探。

      接下來我們希望對txt本身的字符串進行相關處理,format()。即我希望分離出兩個文檔,1個為ip地址的txt。一個為域名的txt。

  

1   temp=sys.argv[1]
2     print '-'*40
3     print '正在格式化文本'
4     inputname=str(temp)
5     input=open(inputname,'r')
6     scan=open('ip.txt','w')
7     url=open('url.txt','w')

  首先通過創建一個input,讀入subdommain輸出的txt文件。

  同事創立兩個scan與url分別存放即將輸出的IP和url文件。

  下面要做的就是對subdomain的字符串格式化。

    for line in input:
        t=line.strip()
        final=t.split()
        scan.write(final[1]+'\n')
        url.write(final[0]+'\n')

  通過for循環讀入文件中的每一行,通過line.strip()去掉兩遍的空格后,用.split()方法以空格為界,切出一個list保存原文件的ip和url。

  下一步主要是將ip循環放進nmap掃描即可。這個實現比較容易。

   1 os.system(order+'-iL ip.txt') 

  最后通過request模塊對url地址獲得狀態嗎,即可完成收集工作。

  

 1     print '-'*40
 2     print '正在請求url分析響應結果'
 3     urlfile=open('url.txt','r')
 4     urlfinal=open('urlresult.txt','w')
 5     for line in urlfile:
 6         t=line.strip('\n')
 7         try:
 8             status=requests.get('http://'+t).status_code
 9             print t+'     '+str(status)
10             urlfinal.write(t+'  '+str(status)+'\n')
11         except:
12             print t + '     ' + 'unknown'
13             urlfinal.write(t+'  '+'unknown\n')
14             continue
15     urlfinal.close()
16     os.remove('url.txt')

 

  

  

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM