当前位置: 首页 > news >正文

小程序有哪些优化大师如何删掉多余的学生

小程序有哪些,优化大师如何删掉多余的学生,wordpress 登陆 插件下载,cc彩球网站总代理怎么做经过这么长时间的测试终于算是可以上线了#xff0c;写篇文章跟大家分享一下自己的开发思路吧 注#xff1a;本工具借鉴吸收了TideSec的web_pwd_common_crack很多优秀的思路#xff0c;在此基础上增加了很多拓展功能使其更加强大#xff0c;在这里给TideSec的大佬点个赞… 经过这么长时间的测试终于算是可以上线了写篇文章跟大家分享一下自己的开发思路吧 注本工具借鉴吸收了TideSec的web_pwd_common_crack很多优秀的思路在此基础上增加了很多拓展功能使其更加强大在这里给TideSec的大佬点个赞 前言 在做安全测试的时候随着资产的增多经常会遇到需要快速检测大量网站后台弱口令的问题。 然而市面上并没有一个比较好的解决方案能够支持对各种网站后台的通用检测。 所以WebCrack就应运而生。 工具简介 WebCrack是一款web后台弱口令/万能密码批量爆破、检测工具。 不仅支持如discuz织梦phpmyadmin等主流CMS 并且对于绝大多数小众CMS甚至个人开发网站后台都有效果 在工具中导入后台地址即可进行自动化检测。 实现思路 大家想一下自己平常是怎么用burpsuite的intruder模块来爆破指定目标后台的 1抓包 - send to intruder - 标注出要爆破的参数 - 发送payload爆破 - 查看返回结果 找出返回包长度大小不同的那一个基本上就是所需要的答案。 那么WebCrack就是模拟这个过程 但是就要解决两个问题 如何自动识别出要爆破的参数如何自动判断是否登录成功 识别爆破参数 对于这个问题采用了web_pwd_common_crack的解决办法 就是根据提取表单中 user pass 等关键字来判断用户名跟密码参数的位置 123456789101112131415if parameter: if not user_key: for z in [ ‘user’, ‘name’,‘zhanghao’, ‘yonghu’, ‘email’, ‘account’]: if z in parameter.lower(): value ‘{user_name}’ user_key parameter ok_flag 1 break if not ok_flag: for y in [‘pass’, ‘pw’, ‘mima’]: if y in parameter.lower(): value ‘{pass_word}’ pass_key parameter ok_flag 1 break 但是在测试中还发现有些前端程序员用拼音甚至拼音缩写来给变量命名 什么yonghu , zhanghao , yhm(用户名), mima 等 虽然看起来很捉急但是也只能把它们全部加进关键字判断名单里。 如何判断登录成功 这个可以说是最头疼的问题 如果对于一种管理系统还好说只要找到规律判断是否存在登录成功的特征就可以 但是作为通用爆破脚本来说世界上的网站各种各样不可能去一个个找特征也不可能一个个去正则匹配。 经过借鉴web_pwd_common_crack的思路与大量测试 总结出来了以下一套比较有效的判断方式。 判断是否动态返回值并获取Error Length 先发送两次肯定错误的密码如length_test 获取两次返回值并比较 如果两次的值不同则说明此管理系统面对相同的数据包返回却返回不同的长度此时脚本无法判断退出爆破。 如果相同则记录下此值作为判断的基准。 然而实际中会先请求一次因为发现有些管理系统在第一次登录时会在响应头部增加标记。如果去掉此项可能会导致判断失误。 判断用户名跟密码的键名是否存在在跳转后的页面中 这个不用过多解释如果存在的话说明没登录成功又退回到登录页面了。 有人会问为什么不直接判断两个页面是否相等呢 因为测试中发现有些CMS会给你在登录页面弹个登录失败的框所以直接判断是否相等并不准确。 还有一种计算页面哈希的办法然后判断两者的相似程度。 但是觉得并没有那个必要因为有不同的系统难以用统一的阈值来判断故舍弃。 关键字黑名单检测 黑名单关键字列表 123[密码错误, 重试, 不正确, 密码有误,不成功, 重新输入, history.back, 不存在, 登录失败,登陆失败,出错,已被锁定,history.go,安全拦截,还可以尝试,无效,攻击行为,创宇盾, 非法,百度加速,安全威胁,防火墙,黑客, 不合法,warning.asp?msg,Denied] 本来还设置了白名单检测机制 就是如果有“登录成功”的字样出现肯定就是爆破成功 但是后来发现并没有黑名单来的必要。 因为首先不可能把所有CMS的登录成功的正则样本都放进去 其次在测试的过程中发现在其他检测机制的加持后白名单的判断变得尤其鸡肋故舍弃。 黑名单就相比而言好的多 如果弹出来密码错误就不用再往下判断了 然而实际测试中发现有些用js来判断登录的情况的时候会同时出现“登录成功“跟“登录失败”的字眼 此时就只能通过其他方式判断了。 Recheck环节 为了提高准确度防止误报。 借鉴了web_pwd_common_crack的思路增加recheck环节。 就是再次把crack出的账号密码给发包一次并且与重新发送的error_length作比对 如果不同则为正确密码。 在这里没有沿用上一个error_length是因为在实际测试中发现由于waf或者其他因素会导致返回包长度值变化。 框架拓展 用上面几种办法组合起来已经可以做到基本的判断算法了 但是为了使WebCrack更加强大我又添加了以下三个模块 动态字典 实现代码 1234567891011121314151617181920212223242526272829303132def gen_dynam_dic(url): dynam_pass_dic [] tmp_dic [] suffix_dic [, 123, 888, 666, 123456] list1 url.split(/) host list1[2].split(:)[0] compile_ip re.compile(^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$) if compile_ip.match(host): check_ip 1 else: check_ip 0 if not check_ip: list2 host.split(.) i len(list2) for u in range(i): list3 list2[u:] part ..join(list3) if (len(part) 5): continue dynam_pass_dic.append(part) for u in range(i): list3 list2[u] if len(list3) 5: continue tmp_dic.append(list3) for i in tmp_dic: for suffix in suffix_dic: u i suffix dynam_pass_dic.append(u) return dynam_pass_dic else: return 假如域名是 1webcrack.yzddmr6.com 那么就会生成以下动态字典列表 123456789101112webcrack.yzddmr6.comyzddmr6.comwebcrackwebcrack123webcrack888webcrack666webcrack123456yzddmr6yzddmr6123yzddmr6888yzddmr6666yzddmr6123456 假如正则匹配到传来的是一个IP而不是域名的话就会返回一个空列表。 万能密码检测 后台的漏洞除了弱口令还有一大部分是出在万能密码上 在WebCrack中也添加了一些常用的payload 12345admin or aaororadmin or 11 or 11)or(aaor 11-- 但是同时带来个问题会被各大WAF拦截 这时候就可以把WAF拦截的关键字写到检测黑名单里从而大大减少误报。 小插曲 用webcrack检测目标资产进入到了recheck环节 但是webcrack却提示爆破失败。 手工测试了一下检测出的万能密码 发现出现了sql错误信息 意识到可能存在后台post注入 发现了sa注入点 这也反应了对于后台sql注入webcrack的正则匹配还做的不够完善下一个版本改一下。 自定义爆破规则 有了上面这些机制已经可以爆破大部分网站后台了 然而还是有一些特(sha)殊(diao)网站并不符合上面的一套检测算法 于是webcrack就可以让大家自定义爆破规则。 自定义规则的配置文件放在同目录cms.json文件里 参数说明 123456789101112[ { name:这里是cms名称, keywords:这里是cms后台页面的关键字,是识别cms的关键, captcha:1为后台有验证码0为没有。因为此版本并没有处理验证码所以为1则退出爆破, exp_able:是否启用万能密码模块爆破, success_flag:登录成功后的页面的关键字, fail_flag:请谨慎填写此项。如果填写此项遇到里面的关键字就会退出爆破用于dz等对爆破次数有限制的cms, alert:若为1则会打印下面note的内容, note:请保证本文件是UTF-8格式并且请勿删除此说明 }] 举个例子 12345678910{ name:discuz, keywords:admin_questionid, captcha:0, exp_able:0, success_flag:admin.php?actionlogout, fail_flag:密码错误次数过多, alert:0, note:discuz论坛测试 } 其实对于dz,dedecms,phpmyadmin等框架本身的逻辑已经可以处理 添加配置文件只是因为程序默认会开启万能密码爆破模块 然而万能密码检测会引起大多数WAF封你的IP 对于dzdedecms这种不存在万能密码的管理系统如果开启的话不仅会影响效率并且会被封IP 所以配置文件里提供了各种自定义参数方便用户自己设置。 关于验证码 验证码识别算是个大难题吧 自己也写过一个带有验证码的demo但是效果并不理想 简单的验证码虽然能够识别一些但是遇到复杂的验证码就效率极低拖慢爆破速度 并且你识别出来也不一定就有弱口令。。。 所以就去掉了这个功能 如果有大佬对这方面有好的想法欢迎在github上留言或者邮箱 yzddmr6**gmail 联系我。 总流程图 一套流程下来大概是长这个亚子 对比测试 找了一批样本测试跟tidesec的版本比较了一下 web_pwd_common_crack 跑出来11个 其中7个可以登录。4个是逻辑上的误报跟waf拦截后的误报。 webcrack 跑出来19个 其中16个可以登录。2个是ecshop的误报1个是小众cms逻辑的误报。 webcrack比web_pwd_common_crack多探测出来的9个中 有5个是万能密码漏洞2个是发现的web_pwd_common_crack的漏报2个是动态字典探测出来的弱口令。 最后 这个项目断断续续写了半年吧 主要是世界上奇奇怪怪的网站太多了后台登录的样式五花八门。 有些是登录后给你重定向302到后台 有些是给你重定向到登录失败页面 有些是给你返回个登录成功然后你要手动去点跳转后台 有些直接返回空数据包。。。 更神奇的是ecshop(不知道是不是所有版本都是这样) 假如说密码是yzddmr6 但是你输入admin888 与其他错误密码后的返回页面居然不一样。。。 因为加入了万能密码模块后经常有WAF拦截需要测试各个WAF对各个系统的拦截特征以及关键字。 总的半年下来抓包抓了上万个都有了。。。。。。 因为通用型爆破可能无法做到百分百准确可以自己修改配置文件来让webcrack更符合你的需求。 项目地址 https://github.com/yzddmr6/WebCrack
http://www.pierceye.com/news/751704/

相关文章:

  • 系统开发和网站开发厦门专业网站营销
  • 网站在线交谈wordpress信息填写
  • 服饰网站建设微网站建设 合同
  • dede网站 远程生成wordpress后台不能登陆
  • word如何做网站链接湖南省绿色建筑信息平台
  • v9网站模板网站建设六道
  • php网站开发原理企业门户网站费用
  • 白银市建设管理处网站定制网站建设和运营
  • 免费音乐网站建设新闻资讯建站服务商
  • 佛山市建设企业网站服务机构普通网站建设计入什么科目
  • 阿里虚拟机建设网站网络科技有限公司营业执照
  • 如何申请建设网站首页培训机构怎么做线上推广
  • 网站维护升级访问中做网站工单
  • 如何用ae做模板下载网站电脑网站建设规划
  • 北京京水建设集团有限公司网站西青做网站
  • 自己建的网站可以用笔记本做服务器吗网站建设后台系统有哪些
  • 做的asp网站手机号码网站开发软件手机版
  • android 做电子书下载网站网络热词作文
  • 网络网站销售龙岩建筑网
  • 专门找事做的网站iis7 wordpress伪静态规则
  • 做字体的网站济宁网站建设 济宁智雅
  • 工程门户网站建设怎样制作表白网站
  • 手机如何创建个人网站上海 .net网站建设
  • 小程序app软件定制开发首页排名优化公司
  • 红酒 专业 网站建设视频网站后台
  • 宁波网站建设58同城百度突然搜不到网站
  • 网站开发技术和seo的联系wordpress发邮件卡主
  • 网站开发安全模块方案网站运营方案怎么写?
  • 章丘网站制作手机网站 微信平台
  • 自定义功能的网站做坏事网站