sqlmap post注入

SQL注入:Cookie注入

百般思念 提交于 2019-12-05 00:03:36
什么是Cookie Cookie就是代表你身份的一串字符串,网站根据Cookie来识别你是谁,如果你获取了管理员的Cookie,就表示你可以无需密码直接登陆管理员账号。 Cookie注入的原理 在动态脚本语言中存在超全局变量可以获取多种传参方式(基本上) 很多时候开发在开发的时候为了考虑到多种接受参数,在接受参数的时候都是用多种解释传参的方法 例如: php中的$_REQUEST[] 可以获取POST|GET|COOKIE传参 注:php 5.4以上版本就不会接受Cookie传参了。 如果说开发用了$_REQUEST[]来接受参数,然后我们的POST和GET传参被Waf拦截了怎么办? 那么也许没有对进行检测,我们尝试用进行传参,然后不就可以绕过检测机制 Cookie注入的方法 1.抓取数据包,添加Cookie字段在请求头 Cookie传参值需要URL编码,记得将传参的值URL编码下 在线URL: http://tool.chinaz.com/Tools/urlencode.aspx 2.在浏览器上设置Cookie 浏览器页面按F12调出开发者工具,选择Console打开浏览器的控制台,输入js语句设置Cookie: 通过document.cookie来设置Cookie Cookie名字为 id escape是一个编码函数,这个函数会进行一次URL编码 3.Sqlmap工具 例:

SQL注入学习资料总结

本秂侑毒 提交于 2019-12-04 17:43:56
什么是 SQL注入 SQL 注入基本介绍 结构化查询语言(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。1986年10月,美国国家标准学会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的 数据库系统 在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。 SQL注入(SQL Injection)是一种常见的 web安全 漏洞,攻击者利用这个问题,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。 SQL注入产生原因 针对SQL注入的攻击行为可描述为通过在用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。其成因可以归结为以下两个原因叠加造成的: 1. 程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句 2. 未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中 sql注入攻击 方式 SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入、报错注入和盲注: 1、可显注入:攻击者可以直接在当前界面内容中获取想要获得的内容 2、报错注入

SQL注入之sqlmap进阶

試著忘記壹切 提交于 2019-12-03 17:07:20
上一篇我们对sqlmap进行简单的介绍,并介绍了一些·sqlmap的基础用法,这篇让我们来更深入的了解一下sqlmap,了解一下它的强大功能。 探测等级 参数为 --level 在sqlmap中一共有五个探测等级,默认等级为一。 等级为一时会测试get和post的数据。 等级为二时会测试HTTP头的cookie注入。 等级为三时会测试HTTP的user-agent、referer头、xff头等的注入。 等级越高,检测的越多,运行也越慢,所以我们要看情况来选定等级。 sqlmap支持的注入模式 1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。 2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。 4、联合查询注入,可以使用union的情况下的注入。 5、堆查询注入,可以同时执行多条语句的执行时的注入。 sqlmap支持的数据库 MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase,SAP MaxDB HTTP Referer头

【渗透测试小白系列】之SQLMAP工具的使用

不问归期 提交于 2019-12-03 15:31:36
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入工具: 明小子、啊D、罗卜头、穿山甲、SQLMAP等等 2.SQLMAP: 使用python开发,开源自动化注入利用工具,支持12种数据库 ,在/plugins/dbms中可以看到支持的数据库种类,在所有注入利用工具中它是最好用的!!! 3.支持的注入类型: bool、time、报错、union、堆查询、内联 4.功能: 可以获取用户名、密码、权限、角色、数据库(表、字段、内容) 可以爆破识别密文数据 getshell(反弹shell) 命令执行 脱库或删库 二、SQLMAP的目录介绍: 目录 介绍 doc 介绍文档 extra sqlmap额外的功能,运行cmd、执行命令 lib sqlmap 的核心功能代码 plugins 包含12种数据库的识别程序 data 存放一些攻击过程种使用的工具或者命令 /data/procs 包含了mssql、mysql、oracle、postgresql这四种数据库的触发程序 /data/shell 远程命令、后门 /data/txt 表名、列名、UA字典 /data/udf 存放攻击载荷(payload) /data/XML 存放检测脚本(payload) tamper 包含各种绕过WAF的处理脚本 thirdparty 包含第三方插件

SQL注入之常用工具sqlmap

六眼飞鱼酱① 提交于 2019-12-03 13:29:54
通常来说,验证一个页面是否存在注入漏洞比较简单,而要获取数据,扩大权限,则要输入很复杂的SQL语句,有时候我们还会对大量的URL进行测试,这时就需要用到工具来帮助我们进行注入了。 目前流行的注入工具有sqlmap,pangolin,还有国产工具例如阿d,明小子,超级SQL注入这些工具。这些工具的功能都大同小异。 什么是sqlmap sqlmap是用python写的一个注入工具,在所有注入工具中排名第一,今天主要介绍一下sqlmap的使用。 sqlmap的强大功能包括数据库指纹识别,数据库枚举,数据提取,访问目标文件系统,可以在获取完全的操作权限时实行任意命令。 sqlmap的安装 sqlmap是一个命令行下的工具,且安装需要python环境(只支持python2),因此我们需要先下载python环境,并添加到环境变量中。 然后下载最新版的sqlmap(官网http://www.sqlmap.org)需要下载到Python的目录下,然后打开命令行,便可正常使用。 sqlmap入门 1.判断是否存在注入 目标注入点为http://xxx.com/index.php?id=1这种传入参数的命令为 sqlmap.py -u http://xxx.com/index.php?id=1 便可以自动进行检测,另外如果传入的参数有大于等于两个时,需要将URL使用双引号括起来。 除了直接检测URL外

渗透某成人版抖音

半城伤御伤魂 提交于 2019-12-03 04:58:47
下载该app,并对其进行测试。 使用 BurpSuite 抓包,环境为: 夜神模拟器(安卓4)+Xpose框架+Just trust me 框架 77 发现该app是从某web地址: www.xxxxx.com 的接口回调过来的。 排查web资产 域名注册信息 Ps:这类网站域名注册信息大部分为虚假的,所以这里暂时不对域名注册人、联系邮箱等信息展开搜集。 其它资产信息 Web指纹:网宿CDN,PHP,Nginx,ThinkCMF 语言:PHP 服务器:网宿CDN 操作系统:Linux 超级ping结果证实的确有CDN防护,那么就没有端口扫描的必要了。 尝试ThinkCMF默认后台地址 得到信息: 官网地址: www.yunbaokj.com 64 (疑似该视频系统开发商) 在之后的测试中,确定该套系统为云豹直播系统(由ThinkCMF二次开发) 系统审计 从网上下载到了云豹直播系统的源码 运气很好,审计到了几处前端注入(不需要会员登陆) 注入一: 文件位置: /application/Home/Controller/PlaybackController.class.php 注入链接:http://www.xxx.com/index.php?g=Home&m=Playback&touid=1 经测试,目标并不存在此处注入。 注入二: 文件位置: /application/Appapi

(十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析

前提是你 提交于 2019-12-03 02:30:40
一、测试前分析 前文< DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析 > 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程,本文则利用自动化的工具SQLMap对SQL Injection(Blind)进行漏洞检测和数据获取。 手工 VS 自动化 : ①手工测试有助于理解整个注入漏洞的利用过程,可以加深技能印象 ②自动化工具所检测的效率相对较高,而且覆盖的全面性更高,数据获取的广度和深度也可以得到更好的发挥 利用SQLMap自动化工具的检测流程大致如下: 1.判断是否存在注入点、注入类型 2.获取DBMS中所有的数据库名称 3.获取Web应用当前连接的数据库 4.列出数据库中的所有用户 5.获取Web应用当前所操作的用户 6.列出可连接数据库的所有账户-对应的密码哈希 7.列出指定数据库中的所有数据表 8.列出指定数据表中的所有字段(列) 9.导出指定数据表中的列字段进行保存 10.根据导出的数据,验证数据有效性 二、全等级SQL Injection(Blind)-漏洞利用解析 利用SQLMap工具操作,本文暂不作太过详细的去拆分细节点,各个等级的服务端代码在此也不作重复展示。 以下构造SQLMap所需的测试命令时,所需用到的工具还有:浏览器自带的F12查看Request/Response/cookie

2019.10.28sql注入工具

喜欢而已 提交于 2019-12-03 01:27:49
SQLMAP 工具的使用 sql 注入工具 : 明小子 啊 D 萝卜头 穿山甲 sqlmap 等等 开源自动化注入利用工具 , 支持 12 中数据库 , 在 /plugins 中可以看到支持的数据库种类 支持的注入类型 :bool, 时间 , 报错 , 联合 , 堆查询 , 内联 可以获取用户名 密码 权限 角色 数据库 ( 表 , 字段 , 内容 ) 可以爆破识别密文数据 : getshell 命令执行 脱库 / 删库 目录介绍 doc 介绍文档 extra 他是 sqlmap 额外的功能 , 运行 cmd 执行命令 lib 是 sqlmap 核心功能代码 pluigins 包含 12 种数据库识别程序 data 各种数据 : procs 包含了 mssql mysql oracle postgresql 这四种数据库的触发程序 shell 远程命令和后门 txt 表名 列名 UA 字典 udf 存放攻击载荷 payload xml 存放检测脚本 tamper 包含各种绕 waf 处理脚本 thirdparty 包含了第三方插件 , 颜色 , 优化等等 sqlmap 工作流程 1. 初始化 2. 开始检测 0> 检测之前是否注入过 ( 会把检测的 URL 默认存放在用户家目录下 .sqlmap 下的 output --output-dir 参数可以指定存放的目录 ) 1> 解析

sqlmap的安装与使用

China☆狼群 提交于 2019-12-03 01:22:34
sqlmap是基于python环境的,所以在这之前需要安装python环境 Sqlmap 的使用 Sqlmap 是开源自动化利用工具,只是 12 种数据库,在 /plugins 中可以看到支持的数据库,在所有注入工具中最好用。 安装 sqlmap 1、sqlmap 搭配 python 使用,所以搭建 python 环境( 2.7 ) 去官网下载即可,安装后不需单独配置环境 2、 下载 sqlmap 官网下载即可,下载解压后把解压后的文件夹放在 python 的文件路径下 3、测试是否安装成功 打开 cmd ,进入 sqlmap 文件路径下 输入 python sqlmap.py --version ,若出现一下信息,则说明安装成功 4、在桌面创建快捷方式 下一步命名为 sqlmap 然后确定 右键属性,将起始位置设置为 sqlmqp 文件路径 这样就可以快捷使用 sqlmap 了 使用 sqlmap 1 、 Sqlmap -u 目标 url 本次测试用的本地搭建的网站 开始测试 测试结果,表明有注入点 结果存放在上诉路径的这个文件中 2、查看目标所有数据库 Sqlmap.py -u “url” --dbs 查看文件 log 3、获取当前数据库 Sqlmap.py -u “url” --current-db --dbms mysql 4、获取当前数据库下的表 Sqlmap.py -u

SQL注入防御绕过――二次编码之干掉反斜杠

匿名 (未验证) 提交于 2019-12-03 00:39:02
SQL注入防御绕过――二次编码 01 背景知识 一、为什么要进行URL编码 通常如果一样东西需要编码,说明这样东西并不适合传输。对于URL来说,编码主要是为了避免引发歧义与混乱。 例如,URL参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如 /?name=abc&pwd=123 如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和= 符号进行转义,也就是对其进行编码。 对于URL编码的深入研究可以参看下面这些内容: 为什么要进行URL编码 深入分析 web 请求响应中的编码问题 二、URL传输过程中的编码问题 HTTP请求过程经历的几个环节: 浏览器【get/post】①========>服务器②========>浏览器显示③ ①:浏览器会把URL经过编码后发送给服务器,不同的浏览器对URL的编码规则不同。对于GET方式提交的数据,浏览器会自动进行URL编码;对于POST方式提交的数据,其编码方式可以由开发者进行指定。 ②:服务器根据其自身的配置文件对URL进行解码(解码成Unicode),然后将显示内容编码。 ③:浏览器按照指定的编码显示该网页。 此外,在客户端也就是浏览器上运行的前端程序也会根据Web服务的需要对要传输的数据进行一些编码操作