Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)

这篇具有很好参考价值的文章主要介绍了Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web 攻防之业务安全:Callback自定义测试

业务安全是指保护业务系统免受安全威胁的措施或手段。广义的业务安全应包括业务运行的软硬件平台(操作系统、数据库,中间件等)、业务系统自身(软件或设备)、业务所提供的服务安全;狭义的业务安全指业务系统自有的软件与服务的安全。


目录:

Callback自定义测试:

测试原理和方法:

测试过程:

第一步:使用 Burp Suite 的爬虫功能,从重点关注的目录(一般为网站的根目录)开始爬取,在  HTTP history 选项卡中选中要开始爬取的项,右键选择 “Spider from here”。爬取的结果会在 Target  --> Site map 中显示。在爬取完毕后,再使用 Burp Suite 过滤功能找到带有 Callback 参数的链接.(在输入关键字之后,再点击 “1” 的位置,即可让过滤功能生效)

第二步:找到 URL 带有 callback 参数的链接.

第三步:查看 URL 对应的 HTTP Response(查看响应的数据包) 的 Content-Type 类型是否为 text/html ,如果 Content-Type 为 text/html ,我们输入的标签才会被浏览器识别。则将对应的请求发送到 Repeater(重发器) 

第四步:查看 Callback 参数是否存在过滤及可控,这时我们需要在 Callback 参数值前追加一些文本类的 HTML 标签,不直接使用 script 等标签,避免 waf 等保护设备的检测。这里我们使用标签是一级标签。例如:callback=Testjsonp1,然后发送查看响应效果有没有Test 内容,如果有则存在漏洞,然后进行删除 info(在URL中) 的参数,得到精简 URL.

第五步:在 精简 URL 中把 callback 参数更换为恶意行为的 HTML 标签,在新的浏览器中进行利用.

修复建议:


免责声明:

严禁利用本文章中所提到的技术进行非法攻击,否则后果自负,上传者不承担任何责任。


Callback自定义测试:

测试原理和方法:

在浏览器中存在着同源策略,所谓同源是指域名,协议,端口相同。当使用 Ajax 异步传输数据时,非同源域名之间存在限制,其中有一种解决方法是 JSONP(JSON with Padding), 基本原理利用了  HTML 里 <script> </script> 元素标签,远程调用 JSONP 文件来实现数据传递,JSONP 技术中一般使用 Callback(回调函数)参数来声明回调时所使用的函数名,这里往往存在安全问题,由于没有使用白名单的方法进行限制 Callback 函数名,导致攻击者可以自定义 Callback 内容,从而触发XSS等漏洞。


测试过程:

攻击者在测试前,使用 Burp Suite 的爬虫功能对网站进行爬取,筛选出带有 Callback 或者 JSONP 参数的请求,请对请求响应的 Content-Type 进行判断,如果 Content-Type 为 text/html, 则进行下一步,接着攻击者对 Content-Type 参数进行分析,如果 Callback 参数允许攻击者插入 HTML 标签,则存在漏洞。


第一步:使用 Burp Suite 的爬虫功能,从重点关注的目录(一般为网站的根目录)开始爬取,在  HTTP history 选项卡中选中要开始爬取的项,右键选择 “Spider from here”。爬取的结果会在 Target  --> Site map 中显示。在爬取完毕后,再使用 Burp Suite 过滤功能找到带有 Callback 参数的链接.(在输入关键字之后,再点击 “1” 的位置,即可让过滤功能生效)

Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)

Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)

Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)


第二步:找到 URL 带有 callback 参数的链接.

Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)

第三步:查看 URL 对应的 HTTP Response(查看响应的数据包) 的 Content-Type 类型是否为 text/html ,如果 Content-Type 为 text/html ,我们输入的标签才会被浏览器识别。则将对应的请求发送到 Repeater(重发器) 


第四步:查看 Callback 参数是否存在过滤及可控,这时我们需要在 Callback 参数值前追加一些文本类的 HTML 标签,不直接使用 script 等标签,避免 waf 等保护设备的检测。这里我们使用标签是一级标签<h1>。例如:callback=<h1>Test</h1>jsonp1,然后发送查看响应效果有没有<h1>Test</h1> 内容,如果有则存在漏洞,然后进行删除 info(在URL中) 的参数,得到精简 URL.


第五步:在 精简 URL 中把 callback 参数更换为恶意行为的 HTML 标签,在新的浏览器中进行利用.


修复建议:

(1)严格定义 HTTP 响应中的 Content-Type 为 json 数据格式:Content-Type:application / json

(2)建立 Callback 函数白名单,如果传入的 Callback 参数值不在白名单内,跳转到统一的异常页面阻止其继续输出.

(3)对 Callback 参数进行 HTML 实体编码来过滤掉 “ < ”,“ > ” 等字符.

     

    

学习的书籍:Web 攻防之业务安全实战指南.文章来源地址https://www.toymoban.com/news/detail-413845.html

到了这里,关于Web 攻防之业务安全:Callback自定义测试(触发XSS漏洞)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web 攻防之业务安全:Response状态值修改测试(修改验证码返回值 绕过限制.)

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 Response状态值修

    2023年04月16日
    浏览(123)
  • Web 攻防之业务安全:验证码绕过测试.(修改数据包中 res_code 的值 实现绕过.)

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 验证码绕过测试

    2023年04月14日
    浏览(56)
  • Web安全测试(五):XSS攻击—存储式XSS漏洞

    结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部文章请访问专栏: 《全栈安全测试教程(0基础

    2024年02月10日
    浏览(70)
  • 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞

    目录 前言 XSS概念及分类 反射型XSS(非持久性XSS) 存储型XSS(持久型XSS) 如何测试XSS漏洞 方法一: 方法二: XSS漏洞修复 原则:不相信客户输入的数据 处理建议 资料获取方法 以前都只是在各类文档中见到过XSS,也进行过相关的学习,但是都是一知半解,过了一段时间就忘了。

    2024年02月14日
    浏览(50)
  • BurpSuite实战教程01-web渗透安全测试(靶场搭建及常见漏洞攻防)

    渗透测试(Penetration test)即安全工程师模拟黑客,在合法授权范围内,通过信息搜集、漏洞挖掘、权限提升等行为,对目标对象进行安全测试(或攻击),最终找出安全风险并输出测试报告。 Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况

    2024年02月13日
    浏览(46)
  • 35、WEB攻防——通用漏洞&XSS跨站&反射&存储&DOM&盲打&劫持

    XSS产生于前端的漏洞,常产生于: XSS分类: 反射型(非持久型) 存储型(持久型),攻击代码被写入数据库中。常见于:写日志、留言、评论的地方 DOM型 DOM型XSS与反射型XSS、存储型XSS的最大区别在于:DOM型XSS前端的数据是传输给前端JS代码进行处理,而反射型XSS、存储型

    2024年01月25日
    浏览(72)
  • Day60:WEB攻防-PHP反序列化&POP链构造&魔术方法流程&漏洞触发条件&属性修改

    目录 PHP-DEMO1-序列化和反序列化 序列化操作 - 即类型转换 序列化案例 PHP-DEMO2-魔术方法触发规则 __construct(): //当对象new的时候会自动调用 __destruct()://当对象被销毁时会被自动调用 __sleep(): //serialize()执行时被自动调用 __wakeup(): //unserialize()时会被自动调用 __invoke(): //把对象当

    2024年04月27日
    浏览(39)
  • WEB攻防-SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点

    #知识点: 1、SSRF-原理-外部资源加载 2、SSRF-利用-伪协议无回显 3、SSRF-挖掘-业务功能URL参数 需要考虑有回显和无回显问题 跟RCE无回显道理是一样的,两种解决方法: 1.反向连接(一般SSRF都是用这个反向连接方式,因为SSRF无法写文件) 2.正向连接(一般RCE执行可以用这个方式,

    2024年03月20日
    浏览(41)
  • 安全基础~web攻防特性1

    使用 thinkphp 开发的框架,其首页访问指向 public 目录,指向其中的index.php文件 指向的index.php打开网页后是如下情况,代码如下 定义应用目录,是将文件首页展示在上图的 application 目录下,其下有index.php文件 application 目录index.php文件 thinkphp框架首页访问的目录 想要得到的目

    2024年01月22日
    浏览(48)
  • 安全基础~web攻防特性2

    Burpsuite Render在无法预览显示时,可以适当的清理缓存 win10下输入文字变成繁体解决 进行web漏洞实验的Java靶场程序,用来说明web应用中存在的安全漏洞。 下载文件(最新版本包含新的漏洞靶场): https://github.com/WebGoat/WebGoat/releases/ https://github.com/WebGoat/WebGoat/releases/ 执行命令,开

    2024年01月25日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包