渗透工具- SQLMap

一、SQLMap的介绍

1.SQLMap 是一个开源的SQL注入工具,可以用来进行自动化检测,甚至可以利用 SQL 注入漏洞直接获取目标数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。

2.支持的数据库:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, MicrosoftAccess,IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。

二、SQLMap 五种注入方式

  1. 联合注入
  2. 报错注入
  3. 布尔盲注
  4. 时间盲注
  5. 堆叠注入

三、SQLMap的重要参数

1.参数:-u /

格式:sqlmap -u "目标网站的url "

sqlmap -u "http://192.168.1.5/sqlilabs/Less-1/?id=1" id为网站服务器的IP地址

结果截图:

2.参数-m

格式:sqlmap -m 文件名

sqlmap -m 1.txt

会从文件中依次执行url,一行只能写一个url

2.参数:-r

表示从文件中加载http请求,将请求数据包放到文件中

sqlmap -r 2.txt

4.设置回显等级

参数-v 默认为1

0:只回显Python错误信息

1:同时回显基本信息和警告信息

2:同时回显debug信息

3:同时显示注入的payload

4:同时显示http请求

5:同时显示http响应头

6:同时显示http响应请求

语法:sqlmap -u "http://192.168.1.5/sqlilabs/Less-1/?id=1" -v 3

5.设置探测等级

参数 --level

共有五个等级 默认等级为1,

level>=2 测试http cookie

level>=3 测试http user-agent/referer

level =5 测试 http host

基本格式:root@kali:~/Desktop# sqlmap -r 2.txt --level 2

6.设置http数据包相关参数

参数:--data  把data后边的数据以post方式提交

基本格式:root@kali:~/Desktop# sqlmap -u "http://192.168.1.5/sqlilabs/Less-12/" --data "id=1"

7.参数--cookie 把cookie参数复制添加到--cookie后边

基本格式:sqlmap -u "http://192.168.1.5/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie = "Cookie: security=low; PHPSESSID=c799t8hil8934arhoeipuhep54"

8.指定测试参数

-p :sqlmap默认会测试所有的GET和POST参数,当-level的值大于等于2的时候也 会测试HTTP Cookie头的值,当大于等于3的时候也会测试User- Agents HTTP Referer头的值。

9.设置探测风险等级

参数:--risk 共有三个风险等级,

1-3: 默认是1会测试大部分的测试语句,

2会增加基于时间的测试语句,

3会增加OR语句的SQL注入测试。

注意:在有些时候,例如在UPDATE, DELETE的语句中,注入一个OR的测试语句, 可能导致更新的整个表,可能造成很大的风险。

10.列数据

(1)--dbs 查看数据库

操作格式:root@kali:~/Desktop# sqlmap -u "http://192.168.1.5/sqlilabs/Less-7/?id=1" --dbs

(2)--users 查看所有用户 --password 查看所有密码  可以连在一起用

操作格式:root@kali:~/Desktop# sqlmap -u "http://192.168.1.5/sqlilabs/Less-7/?id=1" --dbs --users --password 

进入目录:cd /root/.sqlmap/output/192.168.1.5

11.使用shell命令:

参数:--os-shell 反弹交互shell

前提:需要网站的物理路径,其次是需要有FILE读写权限

12.--tamper 绕过注入限制

usqlmap-u"http://url/news?id=1" --tamper "base64encode.py"

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQL注入1 简介 许多现实中对于网站的攻击往往是由于网站没有及时更新或者对于用户的输入没有进行检查。从缓冲区溢出说起,这样一种针对系统脆弱性的威胁,最根本的问题还是在于对于用户的输入没有进行检查。作为主要威胁之一的SQL注入带来了人们对于其应用和数据库的担忧。这个问题的出现有十年的时间了,但是现在仍旧在许多网站中出现。SQL注入就像许多当前主要的的web应用安全攻击问题也被划归在了对于用户输入的检查上。 正文 许多web开发者并不知道SQL语句能够被自定义(handle)并且假定SQL语句是一个让人信任的命令。这就让SQL语句能够绕过访问控制机制(access control),因此跳过标准的授权和认证检查。甚至有些时候SQL语句能够允许使用服务器操作系统上的命令行的权限。 直接的SQL注入命令是一种方法,它被攻击者构造或者是修改现成的SQL命令来暴露出隐藏的数据或者是覆盖掉有价值的数据,甚至在服务器上执行危险地系统指令 入门 结构化的语言是数据库的标准声明语言。这让(语言)变的更加简洁并且更易于使用。SQL起源于70年代的IBM实验室。SQL被用来让应用程序与数据库之间进行通信。 SQL使用如下的4种语言来对数据库进行操作 SELECT -从数据库中获得一条记录 INSERT-向数据库中插入一条记录 DELETE-从数据库中删除一条记录 UPDATE-从数据库中更新或者改变当前记录 当用户提交的语句被用作数据库的查询语句时SQL就能够发生。比如当用户被网站认证授权,用户发送一个带有”用户名”和”密码”的信息,用户名/密码就与存放在数据库中的内容进行核对。如果相同的话用户就被允许登录,否则用户登录失败。以下是一个在后台进行登录的例子。 代码 SELECT * FROM user WHERE username='$username' AND password='$password' 这个语句简单地指明了从user的表中查询用户名和username相等的,并且密码和password相等的。所以,如果用户发送用户名为”admin”,并且密码为”12345″,那么SQL语句被创建如下: SELECT * FROM user WHERE username='admin' AND password ='12345' 注入 那么,如果用户输入’ or ’1′=’1,第一个引号会终止输入的字符串,剩下的会被当做SQL语句,并且在SQL语句中1=1恒为真,这就能够让我们绕过注册机制 SELECT * FROM user WHERE username=’admin’ AND password =”or ’1′=’1′ -TRUE 上述是一个SQL注入的简单地例子,然而在实际过程中,SQL注入比这要复杂的多。在我们的渗透测试中,大多数时候我们有一个非常紧凑的计划表,所以这个时候我们需要一个自动化的攻击来为我们进行注入攻击。 SQLMAP就是一能够利用(系统)脆弱性的工具。它是开源的,并经常被用来在Python写的脆弱的DBMS上进行入侵的渗透测试。它能够检测并利用SQL上的漏洞,让我们举例在操作系统和数据库上使用sqlmap.py。 一步一步 我将尽可能地以最简洁的方式展示出来。 最常见的检测SQL注入的方法是通过在输入处添加一个单引号(')并且期待(系统)返回一个错误,有些应用程序并不会返回错误。这个时候我们就会利用true/false语句来检查是否这个应用程序会受到SQL注入的攻击。 为了随机的找到还有SQL注入的脆弱性的网站,你能够使用如下格式的语句利用google dork:inurl:news.php id =1?将会出现一堆google dork的数据并且为你过滤你搜索得到的结果提供了可能。那么让那个我们开始吧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一句话木马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值