PHP代码审计基础:XSS漏洞

xss攻击

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

xss的危害

  • 窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息
  • 窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作
  • 网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马
  • 发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用

挖掘思路

黑盒测试

  • 一般对一些留言板、搜索框、文章发表、用户资料修等等改这些地方进行测试
  • 总之就是有数据交互的地方,试一试就行了

白盒审计

  • 用户输入参数:GET POST …
  • 函数
  • 输入到输出是否有过滤?

反射型xss

说实话我个人认为这个反射型的xss利用价值不是很高,这个也叫非持久性xss。顾名思义,我们把payload夹在存在漏洞的url里,发送给管理员,诱导他点击这个链接,而且还必须是在登录管理员账号的情况下,打到的cookie才好使。

有一些特殊情况下,反射型xss的危害也是不容小觑,比如在name的输入框中插入

<meta http-equiv="refresh" content="3"/>

这段数据传输到浏览器中,网站每3秒会刷新一次,严重会引起服务器崩溃

常见场景
  • 将前端获取的内容,直接输出到浏览器中
  • 将前端获取的内容,直接输出到HTML标签
  • 将前端获取的内容,直接输出到<script>标签

这里举一个很简单的例子:

<?php

$id = $_GET['id'];
echo $id;

payload:

?id=1<script>alert('xss')</script>

在这里插入图片描述
还有一种情况也是比较多见的,需要我们自己去闭合标签:

<?php
$id = $_GET['id'];
?>
<input type="text" value="<?php echo $id?>">

这里闭合前面的value,然后插入我们的js代码:

?id="><script>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值