sqlmap在渗透测试中使用方法

前言:

本篇文章只学习sqlmap如何使用请不要对互联网上站点进行攻击测试。环境所用系统为:centos6.6,sqlmap版本为0.9,靶机环境为预先搭建好存在漏洞的站点。实验环境模拟发现测试站点有注入漏洞,使用sqlmap工具进行注入尝试最后脱裤的操作。

实验演示:

  1. 测试站点

点击其中分类发现修改id可以直接进行对应页面跳转,由于在域名后添加 "and 1=2"进行测试,结果如下:

我们发现由于程序没有进行相关过滤,当条件为假时,可以控制SQL命令的返回结果,此时可证明发现的SQL注入缺陷可以被利用。

2.sqlmap工具

知道了注入点接下来使用sqlmap工具进行测试。

注释:这里使用到sqlmap参数的两个参数 --batch 和 -u,--batch参数可以为我们省去交互式的过程默认自己会全部执行下来。-u参数表示扫描的URL连接。

扫描完成后,我们可以看到扫描出了注入漏洞,sqlmap将漏洞的类型和如何使用漏洞代码都告诉了我们,如果需要手工验证复制给出的代码执行即可。

确定了url存在注入漏洞后,我们看下有哪些数据库:

注释:--current-db参数可以获取到有哪些数据库,在执行后我们发现有个叫“lesson”的数据库。

那知道了数据库名,我们继续查看该数据库下有哪些表:

注释:参数-D"数据库名" --tables ,表示指定数据库将起下的表全部列出。这里已经将lesson数据库下的表都罗列了出来。

有了表名可以继续查看表的结构

注释:由于51cto上传图片加了水印,,这里再将代码重新写一下,

sqlmap --batch -D"xxx" -T"xxx" --columns -u "xxxxxxxxxxx"

这里用到的参数是-T 和 --columns,-T的意思和-D相同,这里写的是表名,--columns参数可以获取当前表的结构信息。

现在知道了表结构,我需要看下adm_name和adm_pwd字段的值,那就执行以下操作:

注释:这里用到的参数是 -C "字段名" --dump  ,如果有多个字段用“,”分隔即可回车后会进行暴力破解最后看到破解信息,这里看到的都是经过md5加密的数据,需要进行解密才能拿到最后信息,在线破解md5的网站有很多这里就不介绍了。

现在我希望把整个库拿到本地怎么做呢,执行下面的命令:

注释:--dump-all 参数表示把所有的数据库都拖到本地,最后拿到的库会放在output文件夹中。

用法总结:

sqlmap --batch -u "xxxxx"
sqlmap --current-db -u "xxxxxx" 
sqlmap -D"xx" --tables
sqlmap -D"xx" -T"xx" --columns
sqlmap --dump-all -u "xxxxx"

这里需要注意的是有些站点有WAF设备,batch参数可能会引起WAF的告警所以需要慎用。

个人看法:

到如今互联网安全已经被越来越多的人关注,像实验中的站点漏洞也越来越少了大家都代码的安全都有了一定程度上的重视,过滤了很多危险操作比如and 1=2,‘信息,数据库中密码都进行了加salt来提高安全性这又在一定程度上加大了破解的难度。

写这篇文章知识为了学习技术,知道攻才能更好的防,写的不对的地方还请各位大牛指出。谢谢啦~

时间: 2024-07-28 19:59:11

sqlmap在渗透测试中使用方法的相关文章

详述MySQL服务在渗透测试中的利用

本文作者:i春秋签约作家--Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提权 导出木马到启动项提权 反弹端口提权 MySQL提权综合姿势 part1 mysql之UDF提权 首先什么是UDF? UDF为`User Defined Function`-用户自定义函数,也就是支持用户自定义函数的功能.看这个名字应该就理解了一半了. MySQL是最流行的开放源码SQL数据库管理

渗透测试中的域名伪装

今天在<网络渗透测试--保护网络安全的技术.工具.过程>一书中看到了一个关于对恶意链接进行域名伪装的方法,以前从不知道的一个方法,特此记录下来: 我们通常使用的都是以下这种格式的域名: www.example.com 浏览器在将域名发往dns服务器之前,会先对域名进行第一步处理,这里就涉及到一个隐含的知识:“@”符号 如果在浏览器地址栏中输入一个包含“@”符号的域名,浏览器在发送该域名之前,会自动忽略“@”符号之前的所有内容. 这个应该不算是一个漏洞,大多数浏览器都会包含这种默认的方式.如果我

渗透测试中如何提取Windows系统帐户密码

『面向对象』本篇博文主要面向信息安全渗透测试初级人员以及信息安全攻防技术爱好者,大牛请珍惜生命.自行绕道. 『主要内容』主要介绍在后渗透测试阶段如何利用工具来获取Windows操作系统账号密码. ---------------------------------------菜鸟起飞系列------------------------------------------------ 渗透测试任务:获取Windows系统帐户密码 攻击测试目标:Windows server2003 2008 2012

web渗透测试中WAF绕过讲解(二)基于HTTP协议绕过

0x01 前言 在讲本课的内容之前我们先来了解互联网中的HTTP是什么?        超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协

移动APP安全在渗透测试中的应用

http://netsecurity.51cto.com/art/201403/433726_all.htm 以往安全爱好者研究的往往是app的本地安全,比如远控.应用破解.信息窃取等等,大多人还没有关注到app服务端的安全问题,于是在这块的安全漏洞非常多. 移动app大多通过web api服务的方式跟服务端交互,这种模式把移动安全跟web安全绑在一起.移动app以web服务的方式跟服务端交互,服务器端也是一个展示信息的网站,常见的web漏洞在这也存在,比如说SQL注入.文件上传.中间件/ser

使用Kali Linux在渗透测试中信息收集

域名注册信息 当你知道目标的域名,你首先要做的就是通过Whoist数据库查询域名的注册信息,Whois数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括DNS服务器的信息. 关于Whois的介绍请访问:https://www.ietf.org/rfc/rfc3912.txt‍ 默认情况下,Kali已经安装了Whois.你只需要输入要查询的域名即可: #whois baidu.com (部分) 我们可以获取关于百度的DNS服务器信息,域名注册基本信息.这些信息在以后

详述MSSQL服务在渗透测试中的利用 (下篇)

part3 MSSQL写文件 步骤1 sp_makewebtask写文件 因为是`SA`权限,如果目标服务器是web服务器,我们也不用去备份了,可以直接写个一句话木马进去到web目录. 在不知道web目录的情况下我们可以使用以下SQL语句来列目录: exec master.dbo.xp_subdirs 'c:\www\'; `sp_makewebtask`拓展存储过程并不会列出目录下的文件,只会列出目录. 假设`c:\www\`为当前web目录,我们尝试使用以下语句来向该目录写一个名为`test

渗透测试中遭遇杀毒软件

最近测试一个项目,提权时遇到了杀毒软件,N多工具都被杀掉了,虽然最后都成功提权了,但是还是或多或少的给我们提权造成了不少的麻烦,尤其是提权成功后使用cain嗅探,cain被秒杀,别提多郁闷了.这里就我提权过程中遇到的两款杀毒软件来进行一下总结,总结一下如何在提权成功后关掉这两款杀毒软件. 1.免密码关掉趋势杀毒软件 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCor

MySQL的system命令在渗透测试中的使用以及UDF提权

一.MySQL中的system命令 在MySQL 5.x中增加了system命令,简单的符号是\!,从而使MySQL可以执行系统的命令 1 mysql> system echo "12345" 2 12345 因为突发奇想,可以使用这个办法反弹shell 结果OK: 尝试和select拼接执行,这样是成功的 想到这里其实可以拼接在SQL注入语句中执行OS命令,或者能连上MySQL之后直接执行OS命令反弹shell. 二.MySQL UDF提权 这里按照linux类操作系统举例了,