bWAPP--HTML Injection

基础

什么是HTML注入?

HTML注入(Hypertext Markup Language Injection)中文意思是“超文本标记性语言注入”,众所周知HTML含有各种标签,如果Web应用程序对用户输入的数据没进行彻底的处理的话,那么一些非法用户提交的数据可能含有HTML其他标签,而这些数据又恰好被服务器当作正常的HTML标签显示,那么最终的结果是非法标签被解析(可以应用于钓鱼、社会工程学等),对其他用户造成很大影响。

HTML注入与XSS的区别

XSS(Cross-site Scripting)中文翻译是“跨站脚本攻击”,XSS本质上是HTML注入攻击,但又不同于HTML注入,XSS利用脚本标记运行JavaScript等脚本程序,可以通过JavaScript获取机密数据和一些列危险操作,而HTML注入只是使用HTML标签修改页面内容。

GET Injection(注入型)

  • LOW
<script>alert("Get pass")</script>
#<a href=http://www.baidu.com>Click Me</a>
  • mid
    通过源码可知,进行了 <>替换,故可用编码绕过
    在这里插入图片描述
#<script>alert("Get pass")</script> URL编码绕过
%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%30%29%3c%2f%73%63%72%69%70%74%3e%0a
  • high
    在这里插入图片描述
    高安全级别使用了htmlspecialchars函数(htmlspecialchars 把特殊字符转为HTML实体 ),很难绕过。
    其中,htmlspecialchars默认配置是不过滤单引号的。只有设置了: quotestyle 选项为ENT_ QUOTES才会过滤单引号
    故存在 ’ 闭合绕过。htmlspecialchars存在的可能绕过方法
    在这里插入图片描述

POST Injection(注入型)

  • low
<script>alert("GetPass")</script>
  • mid
%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%47%65%74%50%61%73%73%22%29%3c%2f%73%63%72%69%70%74%3e
  • high
    无法绕过

Reflected (反射型)

  • low
    在这里插入图片描述
    故更改,HOST、URI字段可绕过
# ? 或 #绕过  
GET /htmli_current_url.php?a=<script>alert("GetPass")</script> HTTP/1.1
#GET /htmli_current_url.php#a=<script>alert("GetPass")</script> HTTP/1.1

在这里插入图片描述

  • mid、high
    不可绕过
    在这里插入图片描述

Stored (存储型)

  • low
<script>alert(“GetPass")</script>

在这里插入图片描述

  • mid/high
    在这里插入图片描述

防御手段

  • 将特殊字符转换为 HTML 实体(如php的htmlspecialchars方法)
  • 对传入的字符串会根据当前连接的字符集进行转义,得到一个编码后的合法的 SQL 语句。(如php的mysqli_real_escape_string方法)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值