码迷,mamicode.com
首页 > 移动开发 > 详细

bWAPP_HTML Injection

时间:2020-02-13 21:10:05      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:odi   ase   区别   family   解码   post   fun   标签   get   

0x00:前言

bWAPPweb安全靶场

0x01:HTML注入

超文本标记语言(HTML)注入有时也被称为虚拟污染。 这实际上是一个由站点造成的攻击,该站点允许恶意用户向其 Web 页面注入 HTML,并且没有合理处理用户输入。 换句话说,HTML 注入漏洞是由接收 HTML 引起的,通常通过一些之后会呈现在页面的表单输入。

1)HTML injection (get)_low

1.1.1 输入两个名字,页面出现用户输入的东西

 技术图片

1.1.2网页地址为:

 技术图片

 更改参数,low等级的没有对输入的内容有任何检测

 技术图片

 结果:

 技术图片

 1.1.3 或者  firstname  改为 <a href=http://www.baidu.com>点这里到百度</a>

<a>标签的href 属性规定链接的目标

 技术图片

结果:

 技术图片

firstname=<script>alert(document.cookie)</script>    可以获取用户cookie

2)HTML injection (get)_medium

1.2.1  <h1>Hack</h1>无效

 技术图片

 应该对字符<>/ ,检测或过滤了,检测的方法:过滤、替换、编码解码,这里没有做替换,试一下编码解码

试一下URL encode(其他还有很多编码方式base64等)

urlencode("<h1>Hack</h1>")  --->   

 技术图片

 结果:没变,说明页面展示的时候,把我输入的内容URLdecode

 技术图片

 那我们URLencode两次,他解码后就是一次URLencode的结果

 技术图片

 结果注入成功

 技术图片

 因为 只进行一次URLencode,浏览器会自动默认 把参数URLdecode一遍,所以和没编码没有区别,两次的话浏览器解码一次,页面展示的时候在解码一次

2)HTML injection (get)_high

......看一下源码吧

function xss_check_3($data, $encoding = "UTF-8")
{
    // htmlspecialchars - converts special characters to HTML entities    

    // ‘&‘ (ampersand) becomes ‘&‘

    // ‘"‘ (double quote) becomes ‘"‘ when ENT_NOQUOTES is not set

    // "‘" (single quote) becomes ‘‘‘ (or ‘) only when ENT_QUOTES is set

    // ‘<‘ (less than) becomes ‘<‘

    // ‘>‘ (greater than) becomes ‘>‘  

    return htmlspecialchars($data, ENT_QUOTES, $encoding);

}

有一个htmlspecialchars()函数,百度一下

 技术图片

 

 

不会绕过~~~

知乎上有回答的https://www.zhihu.com/question/27646993,分不同场景,但是我都试过了还是不行

 

2)HTML injection_post

方法和get一样,只是postget的区别

(3) HTML injection_current url

 

0x02:总结

有点像反射型XSS(一样的?)漏洞修复建议:过滤输入的数据,如<   >   ‘   "   onclick  on***等;对数据编码,HTML实体编码 JS编码 

 

bWAPP_HTML Injection

标签:odi   ase   区别   family   解码   post   fun   标签   get   

原文地址:https://www.cnblogs.com/liqik/p/12304911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!