发布于12月5日12月5日 从最基本的登录框突破 登录框是hw中出现最多的字符,也是最容易退出的字符。下面介绍一些常用的测试方法。 登录爆破技巧 针对此类系统爆炸我们有两种解决方案: 分析前端加密算法,编写脚本模拟加密密码。固定密码为123456 000000。使用常用用户名作为字典进行爆破。两种方法都有各自的优点和缺点。我更喜欢第二个。游戏管理将会更加高效。分析加密算法比较适合红队检测项目。 使用被泄露的账号和密码登录后端,即可继续搜索后端上传点。 请参阅此处的图像类型来限制上传的文件格式。 直接添加aspx文件格式类型 成功获取shell 修改返回的数据包参数并进入后台 有时网站登录状态是根据前端确定的。这时候我们可以直接修改返回包来绕过。 前端判断登录逻辑是根据返回包的ret值来确定的。当返回值为1时,表示登录成功。 成功进入后台 插件检测常见sql注入和log4j漏洞 sql注入插件推荐https://github.com/smxiazi/xia_sql 基本原理是发送多个数据包,根据返回数据的长度判断是否存在注入。 除了被动扫描之外,我们还可以手动添加单引号和双引号来查看返回的包。如果出现类似错误,则可能存在SQL注入。 sqlmap 穿梭机 log4j插件推荐https://github.com/TheKingOfDuck/burpFakeIP 通过burp插件对数据包的头部进行模糊测试 成功检测登录框log4j漏洞 但需要注意的是,很多dnslog平台已经被防火墙列入黑名单,所以建议使用ceye或者自建dnslog平台。 系统默认密码+后台1天漏洞利用 随着攻防竞赛越来越频繁,公网上可直接利用的前端漏洞越来越少。大部分都已经通过批量扫描修复了,但是我们可以使用系统默认密码结合1day。 如果有默认密码admin/admin123 进入后台可以通过计划任务或者反序列化来执行命令。 很多时候我们遇到OA系统时,都会使用OA漏洞检测工具进行扫描,没有发现漏洞就放弃了。事实上,像这样的OA系统也可能存在默认密码的问题。 默认密码 系统管理员:系统/系统 群组管理员(A8-v5群组版)group-admin/123456 单位管理员(A8-V5企业版)admin1/admin123456 审计管理员(所有版本)audit-admin/seeyon123456 有时您在前台使用帐号和密码无法登录。您可以发送以下数据包来获取cookies。 POST /seeyon/rest/authentication/ucpcLogin HTTP/1.1 主机: 用户代理: Mozilla/5.0(Windows NT 10.0;rv:78.0)Gecko/20100101 Firefox/78.0 内容长度: 71 Content-Type: 应用程序/x-www-form-urlencoded 接受编码: gzip UserAgentFrom=xxlogin_username=audit-adminlogin_password=seeyon123456 获取cookie后,可以利用较新的后台漏洞进行深度利用。这次,使用副本文件背景孔。 但经过实际实践,发现这个漏洞存在一些隐患,写入webshell时报错。 POST /seeyon/ajax.do?method=ajaxActionmanagerName=portalCssManagerrnd=111 HTTP/1.1 接受: */* Content-Type: application/x-www-form-urlencoded;charset=UTF-8 内容长度: 70 主机: 192.168.91.17 连接:保持活动状态 用户代理: Apache-HttpClient/4.5.13 (Java/1.8.0_321) 接受编码: gzip、deflate 参数=%5B%22xxxxx x%22%5DmanagerMethod=generateCssFileByCssStr 打开本地环境并调试。 Fuzz发现是双引号引起的,可以在前面加\解决。其他问题总结如下: 当写入seeyon路径时,会出现404。可以更改根目录下webshell的双引号,在前面加一个反斜杠,即“替换为\”。复制的文件名不能和之前的一样,否则复制失败。 //一首歌曲后,需要换行。一首歌曲后,getshell终于成功。 同样,X Micro OA的默认账户密码为sysadmin/1sysadmin/Weaver@2001等。 差一点就过去的Shiro漏洞 被动扫描识别shiro指纹 使用afrog 和Wappalyzer 等指纹识别器时,有时无法直接识别shiro 框架。 抓包并使用hae插件被动扫描识别网站特征。 https://github.com/gh0stkey/HaE WAF拦截绕过 使用该工具检测到钥匙,但在使用连锁爆破时被拦截。访问网站时发现被拦截。 我改了IP地址,继续flush,但是工具无法直接使用。本来打算用burp手动发送包裹,但是问题又来了。 burp网站直接无法访问。 我改用yakit,可以正常发送包裹了。我猜想打嗝功能可能已经被识别出来了。这时我想到了最近看到的github项目,决定尝试一下。 https://github.com/sleeyax/burp-awesome-tls 在使用该插件之前,识别了burp指纹特征,并截获了抓包。 使用插件后正常抓包 最终通过OPTIONS请求方式+静态资源uri路径+缩短payload长度成功绕过WAF。 要缩短有效负载长度,可以使用4raIn的项目https://github.com/antiRookit/ShortPayload 成功获取shell Yso重新编译并获得某企业的shiro系统 某目标资产采集了shiro框架系统,工具检测到默认密钥kPH+bIxk5D2deZiIxcaaaA==存在 存在JRMP利用方法,但JRMP执行失败 可能原因:Yso自带的CB链版本与目标环境的CB链版本不一致。 用1.8.3重新编译 使用新的yso成功执行命令。除了防止其他队伍从目标得分外,你还可以修改shiro默认键。 JS源码从单点剥离到一一分解 模糊未经授权的 webpack 接口 右键源码——查看并检索js——,最后添加.map 卷曲-Ohttp://xx.xx.xx.xx/\*.js.map 之后,将使用反向源映射下载并恢复js.map。 npm install --global 反向源映射 verse-sourcemap --output-dir 生成目录app.6804b239.js.map 可以查找各种未经授权的接口以进一步利用 使用脚本提取路径,提取的结果可以作为字典放入burp中进行fuzzing Ueditor编辑器漏洞检测 查看源码,发现使用了ueditor组件 或者全局搜索ueditor,找到ueditor路径 构建表单上传1.jpg?aspx invalidPattern.Replace通过正则替换变成1.jpg.aspx,然后通过GetExtension()获取扩展名aspx,最后返回处理后的木马路径。 Amazon S3 存储桶接管 在js中搜索,发现网站背景图片来自s3桶地址 访问地址时发现为NoSuchBucket,说明可以接管。 Amazon Cloud注册对应的Bucket,并填写对应的名称和区域。接管后,再次访问将变成UnauthorizedAccess。 从任意文件读取部署war包getshell 根据返回的rememberme判断帧识别 是Shiro框架。 我刚刚使用了该工具,发现找不到密钥。这很正常。毕竟公网上的Shiro经过多轮hw已经基本消失了。 挖掘标注接口 问题不大。尝试从系统其他方面入手,全局搜索js中的downloadupload字段。可能存在任意文件上传或读取漏洞。 通常,开发者为了省事,可能会直接注释掉前端功能代码,而不删除对应的后端接口。这将为我们留下机会。 像这里,我们通过搜索download找到一个带注释的下载界面,拼接路径尝试读取任意文件。 shiro 权限绕过 拼接路径后发现访问会重定向到首页。这时候我开始怀疑这个漏洞是否存在,但后来又想到可能是权限问题。 这时我想到Shiro框架中有一个容易被忽视的点,那就是权限绕过。 shiro权限绕过分析https://xz.aliyun.com/t/12643 直接拼接就会跳转到首页 资源/js/
创建帐户或登录后发表意见