XSS攻击实验

作者: Spring_Bear | 来源:发表于2018-03-12 17:01 被阅读52次

最近看了关于xss攻击的相关知识点,想找个小站试一下结果没成功,自己搭了bwapp的环境,做了一个关于XSS - Reflected (POST)这一项的实验。

过程

看题目应该是一个Post提交的反射型xss漏洞。看到页面有文本框,直接注入

<script>alert("hi")</script>

就可以得到:


image.png

然后我把难度改成了medium,发现这样行不通,尝试输入',发现输出\',说明输出对单引号进行了转义。
看了下源码,找到xss_post.php核心php代码,找到输出的位置如下:


image.png

寻找xss函数:


image.png

再找xss_check_4()函数,在functions_external.php中找到:


image.png

这里用了addslashes函数对输出进行了转义,看了下函数的作用,是对 ',",\ 和 NULL进行了转义,所以实际上,<script></script>还是执行了,只不过对双引号进行了转义,只是简单的<script>alert(1)</script>就可以得到:


image.png

然后我把难度调到了high,发现怎么都会原样输出,并不会执行脚本。看了下源码,发现对输出进行了转义,利用的是htmlspecialchars函数,可以看到:


image.png

htmlspecialchars函数看了它的介绍,它的作用是:

简单的说就是,&通过编码变成了html实体&; " 通过编码变成了html实体的 " 等等。

那么这里就不知道该怎么绕过了,因为它把特殊字符转化为了实体,<script>alert(1)</script>变成了内容而不是脚本的含义了。

xss编码剖析这篇文章讲到了htmlspecialchars函数的绕过问题,它说明了如果这个函数先在script环境内的话,再在html环境内,像这样:

浏览器在接收html文件的时候就会先进行js解码,再进行HTML解码,那么我们先对输入进行js编码的话,就可以绕过htmlspecialchars函数,然后通过js解码成为html的内部代码执行。

关于浏览器的编码解码问题,可以参考这篇文章HTTP协议及浏览器编码行为

总结

这个high难度的xss该怎么注入没什么头绪,浏览器编码解码的问题还有点迷糊。

相关文章

  • XSS攻击实验

    最近看了关于xss攻击的相关知识点,想找个小站试一下结果没成功,自己搭了bwapp的环境,做了一个关于XSS - ...

  • 网站漏洞处理总结

    最近实验室网站检测出了漏洞,需要修复,以下对修复内容给做点总结 1. XSS 攻击 XSS 攻击全称跨站脚本攻击,...

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • 常见的WEB攻击

    XSS攻击,CSRF攻击,SQL注入攻击,文件上传漏洞,DDoS攻击,其他攻击手段 1.XSS攻击 XSS(Cro...

  • 前端攻击和防御(一)XSS跨站脚本攻击

    (一)XSS跨站脚本攻击 参考:XSS站脚本攻击 (1)XSS简介 XSS攻击全称跨站脚本攻击(Cross Sit...

  • Web安全

    XSS攻击 一、什么是XSS攻击 XSS攻击又称CSS,全称Cross Site Script (跨站脚本攻击)...

  • 2021-05-30 前端常见的攻击方式有哪些?如果解决?安全措

    XSS 攻击 什么是 XSS 攻击 XSS 即 Cross Site Scripting(跨站脚本攻击),指的是攻...

  • 前端防范xss攻击的实用方案

    一、xss攻击原理 大家想必都听过xss攻击,那么这个xss到底是如何攻击、我们又应该如何防范的呢? xss攻击主...

  • 开发安全问题

    1.XSS攻击 1.1什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表...

网友评论

    本文标题:XSS攻击实验

    本文链接:https://www.haomeiwen.com/subject/fghgfftx.html