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

广西外贸app志鸿优化设计电子版

广西外贸app,志鸿优化设计电子版,新手做网站设计,做网站的公司什么动力案例: 遇到过三次 一次是更改accept,获取到tomcat的绝对路径,结合其他漏洞获取到shell。 一次是更改accept,越权获取到管理员的MD5加密,最后接管超管权限。 一次是更改accept,结合参数获取到key。 这里以越…

案例:

遇到过三次
一次是更改accept,获取到tomcat的绝对路径,结合其他漏洞获取到shell。
一次是更改accept,越权获取到管理员的MD5加密,最后接管超管权限。
一次是更改accept,结合参数获取到key。
这里以越权的案例介绍,其他的两个没保存图

原始请求包:
image.png
将Accept改为
Accept: application/json, text/javascript, /; q=0.01
成功获取到当前用户的password以及sql接口
image.png
构造参数id=1后成功获取到管理员权限以及管理员md5密码,md5解密后成功接管管理员权限
image.png
image.png

漏洞分析:

核心还是根据Accept进行不同响应导致的

第一种代码:

RESTful API情况下,直接写在controller中
后端请求根据请求头中Accept 字段判断进行生成不同格式的响应数据。

@RestController
public class MyController {@GetMapping(value = "/data", produces = MediaType.APPLICATION_JSON_VALUE)public ResponseEntity<MyData> getJsonData() {// 生成 JSON 格式的响应数据MyData data = new MyData();// 设置数据...return ResponseEntity.ok(data);}@GetMapping(value = "/data", produces = MediaType.TEXT_HTML_VALUE)public ResponseEntity<String> getHtmlData() {// 生成 HTML 格式的响应数据String html = "<h1>Hello, World!</h1>";return ResponseEntity.ok(html);}
}

第二种代码:

filter进行设置编码

public class MyFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest) request;HttpServletResponse httpResponse = (HttpServletResponse) response;String acceptHeader = httpRequest.getHeader("Accept");if (acceptHeader != null && acceptHeader.contains("text/html")) {httpResponse.setHeader("Accept", "text/plain");}chain.doFilter(request, response);}
}

controller进行判断情况

@Controller
public class MyController {@GetMapping(value = "/data")public String getData(HttpServletRequest request) {String acceptHeader = request.getHeader("Accept");if (acceptHeader != null && acceptHeader.contains("application/json")) {// 返回 JSON 格式的视图return "jsonView";} else {// 返回 HTML 格式的视图return "htmlView";}}
}

漏洞可能出现业务:

从开发角度探讨出现这种业务的原因:

  1. 响应内容的格式要根据客户端的需求而动态变化:如果你的业务需要根据客户端的需求动态地生成不同格式的响应数据,例如根据客户端要求返回 JSON 或者 HTML 格式的数据。这通常用于构建 RESTful API 或者多渠道支持的应用程序。
  2. 客户端与后端交互方式多样化:如果你的应用程序被多个不同的客户端(如浏览器、移动设备、API 调用等)访问,并且每个客户端对响应数据的需求不同,例如某些客户端需要 JSON 格式,而其他客户端需要 HTML 格式。此时,根据客户端请求头中的 Accept 字段来返回适当格式的数据是很常见的需求。
  3. 处理特定类型的请求:有些业务场景可能需要处理特定类型的请求,例如文件上传、XML 数据解析等。这些请求可能需要特殊的处理逻辑,并返回与请求内容相关联的响应数据。

具体业务:

  1. 多客户端应用程序时:多客户应用程序需要处理多种类型的客户端请求,如一个web如果同时具有apk,小程序,ios等时可以考虑测试这个。
  2. 多组件存在时:多组件程序时需要处理多种不同类型请求的请求包。(上面的案例就是这种情况,因为该系统有多个组件,所以我当时才进行测试该漏洞。)

拓展以及思考:

除了accept以外是否还有其他的header头也会导致不一样呢,比如cdn模式下的Accept-Language会不会也有产生不一样的效果呢?
绕waf时的Accept-Encoding会不会也产生奇效呢?
User-Agent遇到403时,会不会也碰撞出不一样的火花。
这些就留给大家自己去探究了

最后:

基于开发的角度去探究漏洞,或许思路会更巧更妙

http://www.dinnco.com/news/18807.html

相关文章:

  • 荆州百度推广苏州seo营销
  • 在网上做批发都有哪些网站福州关键词搜索排名
  • 隐藏wordpress css 的调用路径郑州百度快照优化
  • 做企业网站要多少钱怎么快速优化关键词
  • 南京做网站yuanmus实体店100个营销策略
  • 做企业网站需要买什么百度极速版下载
  • 宿迁哪家做网站好河北seo平台
  • dw表格怎么做网站搜索国内新闻摘抄2022年
  • 网页设计个人网站怎么做个人建站
  • 做网站的备案资料seo优化案例
  • 徐汇网站制作一个网站的seo优化有哪些
  • by最新域名查询免费的seo
  • 设计师网名名字惠州seo排名
  • 做编程的 网站有哪些建网站的流程
  • 做网站的哪里便宜360搜索引擎下载
  • 怎么做刷赞网站怎么搭建自己的网站
  • 公司网站打不开是什么原因培训网站排名
  • 建设银行网上银行谷歌seo是什么意思
  • 广告在什么网站做女装关键词排名
  • 网站分页用什么设置长沙seo优化推广
  • 建设网站的目标新闻早知道
  • wordpress投递文章插件网站优化推广软件
  • 网站建设放入什么会计科目it人必看的网站
  • 微网站和手机网站的区别球队积分排名
  • 免费做电子相册的网站现在有哪些网址
  • 网站做一样没有侵权吧2022年近期重大新闻事件
  • 做网站需要视频衔接怎么模板网站哪个好
  • 可以放钓鱼网站的免费空间北京网站推广公司
  • 营销网站建设平台百度下载2022新版安装
  • 如何做日系风格的网站简述常用的网络营销方法