赞
踩
实操之DVWA平台实战
本系列用于记录本人渗透学习的过程,主要内容围绕Owasp TOP 10展开。
实操之DVWA平台实战是在之前对XSS和SQL注入学习后的实操,主要是借助DVWA靶场,通过对不同分类和过滤的实战,进一步掌握不同分类的XSS和SQL注入攻击方法。(不包含不可能章节)
中级
在中级难度时,网站已经对大小写,双写,<img src=1 onerror=alert(666)>
等进行了过滤。查看网页源代码,发现有标签没有闭合。
构造payload对其进行闭合,成功实现攻击。
另外,payload也可以是English</select><img src=1 onerror=alert(666)>
高级
使用之前的语句发现毫无反应,说明存在更高级的过滤。
url中有一个字符为#,该字符后的数据不会发送到服务器端,#后面的内容是对浏览器的操作,不会发送到http请求当中去,从而绕过服务端过滤。
中级
改变大小写轻松解决
高级
从回显结果来看,有针对<script>
标签的过滤
更换语句实现攻击
中级
和上题高级一样发现有对<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 );
中级
对基础知识不了解的可以点击这里
发现是下拉表格式,考虑post注入,使用burpsuite
发现疑似注入点,使用reperter经过判断易得这是存在数字型注入点,开始注入
在这条语句处出现报错,代码审计,发现$id = mysql_real_escape_string($id );
mysql_real_escape_string函数是实现转义 SQL 语句字符串中的特殊字符,如输入单引号’则处理时会在其前面加上右斜杠\来进行转义,如果语句错误则输出相应的错误信息。
因此只能构造没有’的payload:
然后再构造payload:
然后就可以获取自己想要的信息
高级
和中级相比没有变难,只是换成了字符型注入。不过页面分离可以限制sqlmap等工具的扫描
考虑到有对’的过滤,不采集基于报错的注入
以上完成了在dvwa的XSS跨站脚本的实战和sql注入的部分实战,学到了很多XSS跨站脚本绕过过滤的好办法和sql注入面对’的过滤如何进行手工注入。之后会对盲注进行详解,敬请期待。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。