dvwa详解_DVWA(六):XSS-Reflected 反射型XSS全等级详解

XSS 概念:

由于web应用程序对用户的输入过滤不严,通过html注入篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

XSS类型:

Reflected(反射型):只是简单的把用户输入的数据反射给浏览器,需要诱导用户点击一个恶意链接才能攻击成功。

存储型:将用户输入的数据存储在服务器端,每次用户访问都会被执行js脚本

DOM型:文本对象模式xss,通过修改页面的DOM节点形成的XSS,可存储型,可反射型,取决于输出地点

(关于DOM节点,DOM为Document Obeject Mode首字母缩写,翻译为文档对象模型,在网页中所有对象和内容都被称为节点,如文档、元素、文本、属性、注释等,节点是DOM最基本的单元

并派生出不同类型的节点,他们共同构成了文档的树形结构模式)

XSS应用场景:1.利用xss获得cookie,2.重定向,3.钓鱼网站,4.DDOS

记录一些一般的payload:(这里看不懂可以先看下面的示例,看完返回来看这里就会明白一些了)

1.

2.

3.click1    #点击click1时弹出cookie值

4.a.jpg  #src地址错误,然后执行onerror的内容

Low级别:

观察源码:

header ("X-XSS-Protection: 0");

// Is there any input?

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {

// Feedback for end user

echo '

Hello ' . $_GET[ 'name' ] . '
';

}

?>

源码没有对参数做任何防御处理措施

下面给一些基本的XSS攻击

1.

2.

3.click1    #点击click1时弹出xss3

4.a.jpg  #src地址错误,然后执行onerror的内容

例如我们这里输入:

3e2c892c9205d7d7d91b4c83d16745e7.png

构造获取cookie的payload:

f23ca1994facfb960974c37d842abc81.png

然后Logout 用这段cookie值进行登录即可以被攻击者的身份访问此网站(在未关闭浏览器前)

Medium

观察源码:

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input

$name = str_replace( '

echo "

Hello ${name}
";

}

对于script标签进行了过滤,下面提供几个绕过的方法

1.大小写分开

2.ipt> 类似于SQL注入中的双写

3.用别的标签替换 :

65632355499c289361bc5ed67935d446.png

同样也可以获得cookie 之后就可以通过cookie以被攻击者的身份访问此网站

03c4f14b2a2bf4526bc3c4f502bb66fc.png

High

观察源码:

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL) {//Get input

$name = preg_replace( '/

echo "

Hello ${name}
";

}?>

分析源码,可以看到,使用了preg_replace正则表达式函数,对参数进行过滤,查看源码可以看到对

执行:

1835657-20200314221411715-807882491.png

Impossible

观察源码:

使用了htmlspecailchars函数做了html实体转义,无法利用XSS

1835657-20200314221629501-2120056006.png

1835657-20200314221755223-393907167.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值