新手Web渗透教程 第二课:数据库注入工具 Sqlmap 初体验

我们在第二季第一篇文章里《新手Web渗透教程 第一课:数据库漏洞(SQL注入)环境搭建/测试》构造了一个mysql+php留言本的漏洞环境,

 

我们就以此环境为例来讲解最流行的SQL Injection(SQL注入),最好你不要只看文章,请动下手把第一课的配置环境搭建好。

 

一、数据库概念讲解

数据库有很多种。网上比较流行并且得到广泛应用的有Oracle、MySQL、PostgreSQL、微软SQL Server、微软Access 、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等数据库管理系统。

但是无论哪种数据库,基本都逃脱不了库、表、字段、字段值的概念。

举个形象的比喻,数据库就是一个大仓库,库里有很多房间,每个房间都贴个标签,表明里边里贮存什么的,每个房间就是表了 。每个房间里又存有很多麻袋,这些麻袋上也写有名字,注明是张三还是李四的麻袋,那么麻袋就是字段的意思了。打开张三的麻袋,里边装有苹果,苹果就是字段值。打开李四的麻袋,里边装有桃子,桃子也是字段值。我这里给小白画了个思维导图。

数据库思维导图

 

二、SQL Injection(SQL注入)要准备的工具

主要是针对windos环境来讲解,如果是linux环境,用SQL注入工具会更加的简单;无论什么样的环境?原理都是一样的,因此不必担心;

 

1、python27,因为sqlmap需要python27支持;

下载地址:https://www.python.org/downloads/release/python-2714/

 

2、数据库注入工具“sqlmap”;下载地址:http://sqlmap.org/

下载完解压所有文件到一个目录就行,好比解压到d:/sqlmap。该工具用python语言写的,支持跨平台运行,具有一百多个命令行参数。你会安装后,你就会了系统和python环境配置。如果你能掌握所有的参数后,我相信你已经对最流行的数据库注入攻击有了相当深的了解了。Sqlmap是注入神器,有了它你可以扔掉所有注入工具了,它也是个撩妹高手,因为它基本支持了市面上所有数据库,并且注入的姿势(Payload)花样繁多,让你眼花缭乱的。

 

3、如果你不想像我下文那样全路径调用sqlmap,请参考《黑客渗透入门教程 第二课:6行python代码写个端口扫描工具》这篇文章配置好python27的环境变量。

如果你还想再懒点,我还可以教你一个简单的方法。如果你一直跟着我的课程学习,有可能你机器既装有python2.7,又装有python3.0,想直接调用python2.7执行sqlmap。我在这里假设你的python27装在c:/python27,你的sqlmap解压在d:/sqlmap,你可以在命令行底下先执行一条命令就可以直接调用了,命令如下:

path=c:/python27;d:/sqlmap

然后直接运行sqlmap.py就能执行了。sqlmap.py

 

三、实例讲解Sqlmap最基本的用法

默认装好的python2.7如果没有给你直接配置好环境变量,也不要紧,我们直接调用全路径就可以了。我在这里假设你的python2.7装在c:/python2.7,你的sqlmap解压在d:/sqlmap。

 

1、检测漏洞:

运行:

c:/python27/python.exe d:/sqlmap/sqlmap.py -u http://localhost/book/admin/lyedit.php?ly_id=2

或是你像我上文一样,先执行了:

path=c:/python27;d:/sqlmap

那么直接执行下条命令就可以了。

sqlmap.py -u http://localhost/book/admin/lyedit.php?ly_id=2

 

以下所有的图片我都是全路径抓图的:sqlmap检测漏洞

 

-u参数是表示后边要跟着的网站链接(URL),如果后边的URL像是"1.php?id=2&name=3"里边有两个&符号的,在windows下请把URL用双引号引起来,如果在linux下倒是不用。回车后,如果出现询问Y/n的,你一直按下回车键就行了。按回车就表示Y,输入n表示不同意。

新手Web渗透教程 第二课:数据库注入工具 Sqlmap 初体验

扫一扫手机访问