freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

BurpSuite XSS Lab(HTML属性中经过实体编码的反射xss)
oasisCraft 2024-09-10 11:47:56 41575

This lab contains a reflected cross-site scriptingvulnerability in the search blog functionality where angle brackets are HTML-encoded. To solve this lab, perform a cross-site scripting attack that injects an attribute and calls the alert function.

关键词:反射XSS,搜索功能,<>做了HTML-encoded编码,

注入点:attribute属性上。

打开靶场后,先实验下搜索功能,用一个简单的payload: <img src=1 onerror=alert(1)>,结果如下:

Burp里边抓包结果如下:

寻找注入点:

由此可见程序把我们的搜索内容放在了input的value属性里,但是<>被HTML-encoded为html字符实体了。

换一个payload

结果如下

Value属性被绕过了,但是新加的元素没有被解析成html标签。

看来新加元素是不通的,有经验的师傅就会联想到新加属性绕过了。问下kimi,input都有哪些属性值:

经验证,这些on开头的属性都能实现弹窗,但是只有"onmouseover="alert(1)的弹窗成功后,该实验室的状态会变成solved。

总结:某类字符在 HTML 中有特殊用处,如需保持原意,需要用 HTML 实体来表达。在编程语言中,使用内置的函数来自动进行HTML实体编码。例如,PHP中的htmlspecialchars()或htmlentities(),Java中的StringEscapeUtils.escapeHtml(),Python中的cgi.escape()等。比如php中的htmlspecialchars()会转换下列字符。单引号和双引号可以配置转换还是不转换。靶场中的双引号就没有转换。

# web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 oasisCraft 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
oasisCraft LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 0 关注者