Pikachu-XSS(跨站脚本)

概述

    Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:
        1.反射性XSS;
        2.存储型XSS;
        3.DOM型XSS;

    XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
    XSS是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
    形成XSS漏洞的主要原因是程序对输入和输出没有做合适的处理,导致“精心构造”的字符输出在前端时被浏览器当作有效代码解析执行从而产生危害。
    因此在XSS漏洞的防范上,一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理:
      输入过滤:对输入进行过滤,不允许可能导致XSS攻击的字符输入;
      输出转义:根据输出点的位置对输出到前端的内容进行适当转义;

    你可以通过“Cross-Site Scripting”对应的测试栏目,来进一步的了解该漏洞。 

反射型xss(get)

不管三七二十一我看到这题先直接用经典的弹窗搞一下子

<script>alert(/xss/)</script>

 但是我们在输入的时候发现输不全

 闭合的<script>没有输入进去导致这个没法执行,那么这个东西肯定有长度限制,那我们就看看url有没有限制,对url进行拼接

 这时候我们发现成功了

反射性xss(post) 

可以自己爆破一下或者直接输入admin和123456进入主界面

进入主界面还是输入

<script>alert(/xss/)</script>

 点击按钮直接就成功了,反射型的是一次性的所见即所得,一般出现在查询类页面等

 存储型xss

 

还是使用

<script>alert(/xss/)</script>

点击一下按钮就自动将<script>alert(/xss/)</script>存储到数据库了,大家可以试试你刷新一次就会多一次弹窗,因为存储型xss是保存在数据库里的,刷新之后,留言列表从数据库提取出xss数据所以会弹框,存的好会一直弹出来

 DOM型xss

与普通XSS不同,DOM XSS是在浏览器的解析中改变页面DOM树,且恶意代码并不在返回页面源码中回显。

 我们还是使用<script>alert(/xss/)</script>浅试一下

<script>alert(/xss/)</script>

发现没啥用

我们打开网页源代码看一看,好家伙不讲武德,被修改成功一个超链接

那我们得想办法给它闭合喽,<a href='"+str+"'>,可以构造为:

'onclick="alert(/xss/)">

 点击按钮,下面会出现一个网址,再点击网址就可以看见xss成功了

DOM型xss-x

老套路依旧是浅试一下

<script>alert(/xss/)</script>

发现没有出现我们想要的弹窗 

 看看源码

发现和上一道题一样,输入

'onclick="alert(/xss/)">

 点击按钮,成功xss

 xss盲打

 依旧是浅试一下,这两个框都输入然后提交

<script>alert(/xss/)</script>

我们修改一下url进入后台看一看

http://127.0.0.1/pikachu-master/vul/xss/xssblind/admin_login.php#

 账号密码还是admin和1213456,进入后台就发现注入成功了

 xss之过滤

 不用浅试了直接上语句

<ScriPT>alert(/xss/)</ScriPT>

我原本输入的是大写但是看看源码改成了小写

 XSS之htmlspecialchars

老规矩浅试一下

<script>alert(/xss/)</script>

发现出现一个链接但是点击之后访问不了 

 看一下源码,我们发现,这又是个超链接,但是题目上又是htmlspecialchars,证明需要转义

'onclick='alert(/xss/)'

xss之href输出 

这里使用伪协议

javascript:alert(/xss/)

成功 

 xss之js输出

'</script><script>alert(/xss/)</script>
'</script>是为了闭合前面,使后面构成一个完整的弹窗

 就是为了构成这个方法

 成功

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲瑿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值