当前位置:   article > 正文

DVWA靶场的XSS和SQL注入实战_在davw靶场利用测试工具对sql注入和xss漏洞

在davw靶场利用测试工具对sql注入和xss漏洞

渗透学习

实操之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 );
  • 1

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

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

二、SQL注入实操

1.普通注入

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

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


总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/335301
推荐阅读
相关标签
  

闽ICP备14008679号