搭建dvwa环境学习从MySql注入到GetShell
一转眼从刚开始看关于安全的基础书籍到现在已经十个月的时间了,对渗透测试的兴趣也不断的增加,由于刚开始工作的需求,只来得及看一些常见漏洞的基本原理就开始跟随老师傅开始渗透测试的工作。现在还记得第一次自己发现 xss激动的心情,师傅领进门,学习到了很多知识,后来因为工作原因到了安服务项目上去,三月粗糙的渗透测试能力不足以支撑在项目上有很好的实践,而且由于项目经过其他渗透测试人员千百遍的洗礼比较严重的漏洞也不在外面做项目那么常见。
有一天之前带我的师傅说给你网站,帮忙做下渗透,于是我经过一番测试,发现了暴力破解,还有一些验证绕过的逻辑漏洞,匆匆写了报告交差,师傅一顿夸之后说他自己通过注入getshell了一个同C段的网站,我说我C段扫描时候并没有发现这个IP啊(挫败感之下的借口),然后我说我如果能发现这个系统应该也能getshell,师傅的一句话有点触及到我的那啥(你估计应该不会通过mysql注入getshell)。
是啊,在项目上的系统每周每个月经过几十遍的过滤,平时看到提交参数的地方也就sqlmap跑一跑,对于最基础的手工注入都没有扎实的学会,于是我决定要知道如何搭建环境并学会如何通过 mysql 到 getshell。
通过查资料,总结出了这篇文章,把自己心路历程写出来分享给初学者也希望能得到大牛的指正,希望入门级玩家能共勉,自己多创建学习的环境,多思考。
搭建环境
在刚开始学习的时候,就是通过搭建DVWA学习各种漏洞,sql注入,xss,文件上传等等,所以在想到如何搭建一个存在注入的环境时候,脑海中立刻有了这个想法,我们看到的教程往往只会介绍如何通过高中低的安全级别进行漏洞的复现,那为什么不可以通过注入进行getshell呢,所以我立刻搭建了环境准备尝试一下。
STEP 1 准备好需要的文件,在网上都可以免费下载的到
1)Xampp集成环境
2)Dvwa压缩包
STEP 2 点击安装并启动xampp,其中可能在开启apache时会出现错误,此时需要通过修改config文件把端口改成未占用的端口即可,我这里就改为4433 与8081。
把dvwa解压并放到xampp目录下的htdoc目录下
STEP 3 此时环境已经搭建完毕,访问登陆,就可以看到各种各样的漏洞环境。
参考:站内及网上有关于搭建环境的详细介绍,如按照上述步骤不能搭建成功,可自行搜索解决问题。
链接:http://www.freebuf.com/sectool/102661.html
漏洞利用—— 手工篇
手工注入到getshell思路:
1)判断是否有注入,注入是字符型还是数字型;
2)然后利用sql语句来进行操作磁盘文件(mysql数据库读取磁盘文件是非常简单的,因为mysql提供了load_file()等函数,如果把数据库与网站装在同服务器上,就很容易被写入webshell)。
漏洞利用
STEP 1输入1,查询成功
输入1′and ’1 ‘=’2,查询失败,返回为空
输入1′or ’1234 ‘=’1234,查询成功,说明存在注入
我们通过查看源代码功能,看一下在low级别中是如何进行数据库查询的
我们把我们刚才注入成功的语句拼接到sql查询语句中进行分析
原理其实很简单,就是通过一个条件语句判断,如果where后面的条件语句为真,就可以进行查询,如果条件判断为假,就为错,不返回任何结果。在高中我们学习条件语句的时候就知道在进行or运算的时的规则:
STEP 2 SQL语句只union查询
一转眼从刚开始看关于安全的基础书籍到现在已经十个月的时间了,对渗透测试的兴趣也不断的增加,由于刚开始工作的需求,只来得及看一些常见漏洞的基本原理就开始跟随老师傅开始渗透测试的工作。现在还记得第一次自己发现 xss激动的心情,师傅领进门,学习到了很多知识,后来因为工作原因到了安服务项目上去,三月粗糙的渗透测试能力不足以支撑在项目上有很好的实践,而且由于项目经过其他渗透测试人员千百遍的洗礼比较严重的漏洞也不在外面做项目那么常见。
有一天之前带我的师傅说给你网站,帮忙做下渗透,于是我经过一番测试,发现了暴力破解,还有一些验证绕过的逻辑漏洞,匆匆写了报告交差,师傅一顿夸之后说他自己通过注入getshell了一个同C段的网站,我说我C段扫描时候并没有发现这个IP啊(挫败感之下的借口),然后我说我如果能发现这个系统应该也能getshell,师傅的一句话有点触及到我的那啥(你估计应该不会通过mysql注入getshell)。
是啊,在项目上的系统每周每个月经过几十遍的过滤,平时看到提交参数的地方也就sqlmap跑一跑,对于最基础的手工注入都没有扎实的学会,于是我决定要知道如何搭建环境并学会如何通过 mysql 到 getshell。
通过查资料,总结出了这篇文章,把自己心路历程写出来分享给初学者也希望能得到大牛的指正,希望入门级玩家能共勉,自己多创建学习的环境,多思考。
搭建环境
在刚开始学习的时候,就是通过搭建DVWA学习各种漏洞,sql注入,xss,文件上传等等,所以在想到如何搭建一个存在注入的环境时候,脑海中立刻有了这个想法,我们看到的教程往往只会介绍如何通过高中低的安全级别进行漏洞的复现,那为什么不可以通过注入进行getshell呢,所以我立刻搭建了环境准备尝试一下。
STEP 1 准备好需要的文件,在网上都可以免费下载的到
1)Xampp集成环境
2)Dvwa压缩包
STEP 2 点击安装并启动xampp,其中可能在开启apache时会出现错误,此时需要通过修改config文件把端口改成未占用的端口即可,我这里就改为4433 与8081。
把dvwa解压并放到xampp目录下的htdoc目录下
STEP 3 此时环境已经搭建完毕,访问登陆,就可以看到各种各样的漏洞环境。
参考:站内及网上有关于搭建环境的详细介绍,如按照上述步骤不能搭建成功,可自行搜索解决问题。
链接:http://www.freebuf.com/sectool/102661.html
漏洞利用—— 手工篇
手工注入到getshell思路:
1)判断是否有注入,注入是字符型还是数字型;
2)然后利用sql语句来进行操作磁盘文件(mysql数据库读取磁盘文件是非常简单的,因为mysql提供了load_file()等函数,如果把数据库与网站装在同服务器上,就很容易被写入webshell)。 www.wnhack.com
漏洞利用
STEP 1输入1,查询成功
输入1′and ’1 ‘=’2,查询失败,返回为空
输入1′or ’1234 ‘=’1234,查询成功,说明存在注入
我们通过查看源代码功能,看一下在low级别中是如何进行数据库查询的
我们把我们刚才注入成功的语句拼接到sql查询语句中进行分析
内容来自无奈安全网
原理其实很简单,就是通过一个条件语句判断,如果where后面的条件语句为真,就可以进行查询,如果条件判断为假,就为错,不返回任何结果。在高中我们学习条件语句的时候就知道在进行or运算的时的规则:
STEP 2 SQL语句只union查询
www.wnhack.com