sqlmap

sqli-labs Less5-Less7

此生再无相见时 提交于 2020-02-07 20:06:36
首先补充一段基础知识 Less-5 当输入正确时返回“You are in ......”当输入错误时没有返回结果 ?id=1' and left((select database()),1)='s'--+ 判断数据库第一个字符是不是s ?id=1' and left((select database()),1)='a'--+ 注入错误,使用Burp Suite进行暴力破解 使用之前先设置浏览器的手动代理,端口为8080 选中右击,选择“send to intruder” 打开Intruder的 Positions 点击右侧clear,只选中a,点击右侧Add 进入Payloads,修改以下几个地方 options中修改 点击暴力破解 start attack 点击length,通过对比发现s的长度短,并在下方相应位置找到You are in,由此我们可以知道第一个字母是s 如果想知道后面的字母那就改成下图样式,根据上面的步骤,以此类推将security破解出来 第二种方法 通过二分法进行测试 ?id=1'and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1))>10--+ select schema_name from information_schema

sqlmap,扫描网站数据库并得到用户名及密码!

余生长醉 提交于 2020-02-04 15:03:32
接着上篇文章,你已经对sqlmap有了了解。那么我们今天就进一步了解sqlmap,使用sqlmap对一个网站解剖分析! SqlMap的程序允许检查网站的SQL注入漏洞,XSS漏洞的存在,并且可以还利用SQL注入。支持多种SQL注入类型和多种数据库。 我们可以使用sqlmap检查网站中是否存在漏洞。 如果该站点容易受到SQL注入的攻击,则骇客可以进行以下攻击: 从数据库接收信息,包括转储(整个)数据库 修改和删除数据库中的信息 在Web服务器上生成外壳(后门) 从数据库获取用户名和密码 搜索管理仪表板(管理页面) 使用登录名和密码登录到管理区域 资料修改 JavaScript代码注入以检索用户数据 作为网络安全员,我们是利用工具去检查网站是否有漏洞,如果有,则将漏洞提交给技术部或者我们自己修复解决!这里绝不是让你学完技术去瞎搞! 使用sqlmap检查网站 如果站点使用GET方法从用户那里接收数据(当变量名和正在传输的数据都在浏览器的地址栏中可见时),则需要选择存在该变量的页面的地址。它在问号(?)之后,我们选几个网址。例如: http://www.域名/页面.php?id=8 http://www.域名/页面.php?id=22 在第一个URL地址中,变量的名称为id,传递的值为8。在第二个地址中,变量的名称也为id,传输的值为22。 相同的变量名称是针对不同站点的随机匹配

Web安全-SQL注入:MySQL注入天书(5-6) Blind Injection

坚强是说给别人听的谎言 提交于 2020-02-02 03:41:35
文章目录 内容 布尔型盲注########## 注入点判断 撞数据库版本 撞数据库名 使用sqlmap做布尔型盲注的猜解 内容 MySQL注入天书 Less5 - Less6 布尔型盲注########## 从注入点判断到用 ORDER BY 判断出列数都和前面的一样 只是想用 UNION SELECT 时发现页面并不回显数据库中的信息 而只是根据一个布尔值回显 You are in... 或者什么都不显示 这种类型的注入称为布尔型盲注 Boolean Based Blind Injection 打个比方 Error Based型注入像一个傻白甜 你问她:你现在的用户是谁啊? 她就会告诉你:是root Boolean Based型盲注就是单纯的傻,没有白甜 你问她:你现在的用户是谁啊? 她就不说话 那你只能问:你现在的用户是root嘛? 她会回答是或不是 注入点判断 单引号判断法 所以构造payload如下 ?id = 1 ' AND your_payload % 23 id需为合法id,这样做AND运算才可判断出payload的布尔值 撞数据库版本 截取version的前三个字符,判断是否等于5.6或5.7等等等等 返回Boolean值,与id的选择结果作AND 根据最终是否有回显判断payload的布尔值 这样就知道数据库版本为5.7了

【web安全】sql注入之盲注靶场实战

浪子不回头ぞ 提交于 2020-02-02 03:08:28
第一题 打开靶场,输入id参数 页面显示内容,然后直接输入 ?id=1' and 666=666 -- yuyu 页面显示正常 然后输入 ?id=1' and 666=888 -- yuyu 发现页面不正常 但是没有报错,猜测存在盲注 然后就直接查一下数据库的名字的长度,输入 ?id=1' and length((select database()))>10 -- yuyu 发现页面还是显示不正常 就猜测数据库的名字长度少于或等于10,然后继续猜,输入 ?id=1' and length((select database()))>5 -- yuyu 发现页面显示正常了 就猜测数据库的名字大于5,少于或等于10,然后就继续猜,输入 ?id=1' and length((select database()))>8 -- yuyu 发现页面不正常 就继续猜 ?id=1' and length((select database()))>7 -- yuyu 页面正常 然后继续猜 ?id=1' and length((select database()))>9 -- yuyu 猜到大于7,不大于8和9 就试试等于8 ?id=1' and length((select database()))=8 -- yuyu 发现页面正确 就猜到数据库名字长度是8

DVWA靶机-sql自动注入

大憨熊 提交于 2020-02-01 23:10:44
1. 使用dvwa靶机进行sql注入实战(注:当前靶机安全级别为low) 打开sql漏洞,发现输入不同的数字会返回不同的信息, 先尝试手工判断是否存在sql注入 一般sql注入语句像这样,我们构造的是后面两个单引号里面的内容 select * from users where userid='*' 输入: ' or 1=1# 前面一个单引号闭合了查询语句自带的第一个单引号, or 1=1 使得结果永远为真, #则是用来让查询忽略后面连接的内容,--和#的作用相同 看到它的确返回了全部内容 这次我们来试试它会不会报错 提交报错以后出现: 结合上面的内容我们可以判断这里是存在注入点的 2. 这里我的sqlmap是已经装好的 sqlmap需要python环境才能运行(kali自带sqlmap,或者也可以windows环境下安装) windows下安装教程: https://blog.csdn.net/lijia111111/article/details/54755009 cmd里面打开sqlmap 这里先别急着粘贴url,因为登陆dvwa靶机需要用户名和密码,所以会有cookie的存在。 我们需要浏览器插件查看cookie(推荐使用火狐浏览器) 这些就是当前页面的cookie,需要放到sqlmap注入语句后面 python sqlmap.py -u"http://192.168.147

WEB渗透测试中回显的一些技巧

99封情书 提交于 2020-01-31 13:34:37
在很多场景中,WEB是渗透测试的一个相对容易的入口。通常经过测试授权后,我们会先尝试拿到一个WEBSEHLL,然后再通过各种方法提权,来控制一台内网机器,然后利用这台内网机器控制整个内部网络。 在进行WEB渗透的时候,我们通常会通过后台弱口令、SQL注入、XSS、任意文件上传等漏洞来进行攻击测试。在测试的时候我们会根据服务器返回信息来判断漏洞是否存在,也是根据服务器返回的信息来判断我们能否成功执行命令,能否成功读取服务器上的文件。因此我们在进行渗透测试的时候,能否及时获得服务器相应的反馈信息尤为重要。本文将通过实际研究,来寻找各种及时获得服务器响应数据的技术、方法,为渗透测试铺平道路。下面将模拟一个实例来进行研究分析。 假如在渗透测试的时候,我们通过对主域名进行C段扫描,发现了一个子域名,并且该子域名存某处存在sql注入漏洞,通过测试发现,该注入点支持UNION查询如图: 从返回信息我们能够知道数据库版本,也知道了数据库服务器是windows操作系统。但是给服务器发送HTTP请求后,返回数据包如下: 通过返回的数据,我们判断服务器是LINUX系统。从目前的信息来看,WEB服务器在一台LINUX系统上,然而它使用的数据库在一台WINDOWS系统上。这样我们就无法直接通过数据库操作来获得一个WEBSHELL了。接下来我们的思路是想办法来控制这台数据库服务器,从而获得一台内网服务器的权限

SQL--POST注入和HEAD注入

≯℡__Kan透↙ 提交于 2020-01-31 03:06:59
注入攻击的本质, 是把用户输入的数据当做代码执行 。 这里有两个关键条件: 第一个是用户能够控制输入 第二个是原本程序要执行的代码,拼接了用户输入的数据 POST注入 万能密码: 'or 1=1# 1、在post注入时,不会进行url编码,所以–+要写成-- qwe才行; 2、-- qwe是注释在注入过程中多余的 ’ ; Sqlmap如何对POST类型SQL注入进行注入: –forms sqlmap去读取页面中POST传参的表单的传参名然后进行SQL注入 -r 1.txt sqlmap读取数据包文件进行SQL注入,注入处可以打一个*号告诉Sqlmap测试那个点 HEAD注入 抓取的包中User_Agent,Referer,X_FORWARDED_FOR都可能存在注入 updatexml() 更新xml文档的函数 语法:updatexml(目标xml内容,xml文档路径,更新的内容) updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) updatexml () 这个函数一般是配合and 或者是or 使用的,他和联合查询不同,不需要在意什么字段数 select *from news where id=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1) 但是要注意

Sqlmap 详细使用攻略

天大地大妈咪最大 提交于 2020-01-30 02:53:32
目录 1. 前言 2. 简介 3. 使用参数详解 1.3.1 选项 1.3.2 目标 1.3.3 请求 1.3.4 优化 1.3.5 注入 1.3.6 检测 1.3.7 技巧 1.3.8 指纹 1.3.9 枚举 1.3.10 暴力 1.3.11 用户自定义函数注入 1.3.12 访问文件系统 1.3.13 操作系统访问 1.3.14 Windows注册表访问 1.3.15 一般选项 1.3.16 其他 4. 参考 1. 前言 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。 2. 简介 sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。 sqlmap支持五种不同的注入模式: l 基于布尔的盲注,即可以根据返回页面判断条件真假的注入; l 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断; l

渗透测试工具之sqlmap

二次信任 提交于 2020-01-29 00:52:22
1. sqlmap是什么 在这个数据有价的时代数据库安全已经成为了重中之重,于是就整理了一下最常用的一款(反正我上大学的时候它还是蛮流行的...)数据库安全方面的渗透测试工具sqlmap的使用笔记。 sqlmap是一个自动化的sql注入渗透工具,指纹检测、注入方式、注入成功后的取数据等等都是自动化的,甚至还提供了一个字典来将取回来的hash爆破,当然对于真实环境中这爆破功能战斗力基本为0.... sqlmap是使用python写的,因此具有跨平台的特性,并且下载下来解压就可以使用啦,因此下载安装部分不再介绍。 2. 如何使用 模拟一个真实的场景,我写了一个有sql注入漏洞的登录接口作为测试用来练习sqlmap的使用,就拿它开刀来取得一个合法的登录口令。 step 1. 检测注入点 首先检测参数是否可注入: ./sqlmap.py -u "http://192.168.3.64:8080/user/login?username=foo&passwd=bar" 需要注意的是上面的url一定要用引号括起来不然会报错的。 按照提示一步一步选择即可,如果觉得选项太多太麻烦可以使用--batch来让程序自己个选择: ./sqlmap.py -u "http://192.168.3.64:8080/user/login?username=foo&passwd=bar" --batch

SQL注入篇——注入工具sqlmap使用详解

倖福魔咒の 提交于 2020-01-25 13:08:29
sqlmap简介 sqlmap是一个开源的渗透测试工具,它自动检测和利用SQL注入漏洞并接管数据库服务器。它配备了强大的检测引擎、最终渗透测试器的许多利基特性和广泛的开关,从数据库指纹、从数据库获取数据到通过带外连接访问底层文件系统和在操作系统上执行命令。 sqlmap功能 全力支持 MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Vertica、Mckoi和Presto 数据库管理系统。 完全支持六种SQL注入技术: 基于布尔的盲查询、基于时间的盲查询、基于错误的查询、基于联合查询的、基于堆栈的查询和带外查询。 支持 直接连接到数据库 通过提供DBMS凭据、IP地址、端口和数据库名称,而无需通过SQL注入传递。 支持枚举 用户、密码散列、特权、角色、数据库、表和列 密码哈希格式的自动识别和对 使用基于字典的攻击破解它们。 支持 转储数据库表 完整地说,根据用户的选择,有一系列的条目或特定的列。用户还可以选择仅转储每列条目中的字符范围。 支持 搜索特定数据库名称