DVWA靶场的XSS和SQL注入实战

渗透学习

实操之DVWA平台实战



前言

本系列用于记录本人渗透学习的过程,主要内容围绕Owasp TOP 10展开。

实操之DVWA平台实战是在之前对XSS和SQL注入学习后的实操,主要是借助DVWA靶场,通过对不同分类和过滤的实战,进一步掌握不同分类的XSS和SQL注入攻击方法。(不包含不可能章节)

本文只做学习用途,严禁利用本文提到的技术进行非法攻击,否则后果自负,本人不承担任何责任。

一、XSS跨站脚本实操

1、DOM型XSS

中级
在中级难度时,网站已经对大小写,双写,<img src=1 onerror=alert(666)>等进行了过滤。查看网页源代码,发现有标签没有闭合。
在这里插入图片描述
构造payload对其进行闭合,成功实现攻击。
在这里插入图片描述
另外,payload也可以是English</select><img src=1 onerror=alert(666)>
高级
使用之前的语句发现毫无反应,说明存在更高级的过滤。

url中有一个字符为#,该字符后的数据不会发送到服务器端,#后面的内容是对浏览器的操作,不会发送到http请求当中去,从而绕过服务端过滤。
在这里插入图片描述

2、反射型XSS

中级
改变大小写轻松解决
在这里插入图片描述
高级
在这里插入图片描述
从回显结果来看,有针对<script>标签的过滤
更换语句实现攻击
在这里插入图片描述

3、存储型XSS

中级
和上题高级一样发现有对<script>标签的过滤,更换语句也被过滤
在这里插入图片描述
计划对Name字段进行攻击,但因为其有长度限制,使用Burpsuite修改字段值
在这里插入图片描述
name字段防御较弱,攻击成功
高级
发现使用和上面一样的语句也可以攻击成功。
代码审计后发现,在中等时Name的过滤方式跟dvwa反射型XSS几乎一模一样的,就是用 str_replace() 函数将<script> 字符过滤掉,把它替换成空。

$name = str_replace( '<script>', '', $name );

在高级时只是在中级的基础上,在Name处多了种过滤方式,并没有对img进行过滤。

$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name );

二、SQL注入实操

1.普通注入

中级
对基础知识不了解的可以点击这里
在这里插入图片描述
发现是下拉表格式,考虑post注入,使用burpsuite
在这里插入图片描述
发现疑似注入点,使用reperter经过判断易得这是存在数字型注入点,开始注入
在这里插入图片描述
在这条语句处出现报错,代码审计,发现$id = mysql_real_escape_string($id );mysql_real_escape_string函数是实现转义 SQL 语句字符串中的特殊字符,如输入单引号’则处理时会在其前面加上右斜杠\来进行转义,如果语句错误则输出相应的错误信息。
因此只能构造没有’的payload:
在这里插入图片描述
然后再构造payload:
在这里插入图片描述
然后就可以获取自己想要的信息
在这里插入图片描述

高级
和中级相比没有变难,只是换成了字符型注入。不过页面分离可以限制sqlmap等工具的扫描
在这里插入图片描述
考虑到有对’的过滤,不采集基于报错的注入


总结

以上完成了在dvwa的XSS跨站脚本的实战和sql注入的部分实战,学到了很多XSS跨站脚本绕过过滤的好办法和sql注入面对’的过滤如何进行手工注入。之后会对盲注进行详解,敬请期待。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

bwxzdjn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值