sqlmap

SQL注入之SQLmap入门

情到浓时终转凉″ 提交于 2019-12-13 17:00:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么是SQLmap? SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。 读者可以通过位于SourceForge的官方网站下载SQLmap源码: http://sourceforge.net/projects/sqlmap/ SQLmap的作者是谁? Bernardo DameleAssumpcao Guimaraes (@inquisb),读者可以通过 bernardo@sqlmap.org 与他取得联系,以及Miroslav Stampar (@stamparm)读者可以通过 miroslav@sqlmap.org 与他联系。 同时读者也可以通过dev@sqlmap.org与SQLmap的所有开发者联系。 执行SQLmap的命令是什么? 进入sqlmap.py所在的目录,执行以下命令: #python sqlmap.py -h (译注:选项列表太长了,而且与最新版本有些差异,所以这里不再列出,请读者下载最新版在自己机器上看吧) SQLmap命令选项被归类为目标(Target)选项、请求(Request)选项、优化、注入、检测、技巧(Techniques)、指纹、枚举等。 如何使用SQLmap: 为方便演示

SQL注入之SQLmap入门(转自freebuf)

本小妞迷上赌 提交于 2019-12-13 14:06:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 具体见: http://www.freebuf.com/articles/web/29942.html 用户手册: http://drops.wooyun.org/tips/143 http://drops.wooyun.org/tips/401 什么是SQLmap? SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。 读者可以通过位于SourceForge的官方网站下载SQLmap源码: http://sourceforge.net/projects/sqlmap/ SQLmap的作者是谁? Bernardo DameleAssumpcao Guimaraes (@inquisb),读者可以通过 bernardo@sqlmap.org 与他取得联系,以及Miroslav Stampar (@stamparm)读者可以通过 miroslav@sqlmap.org 与他联系。 同时读者也可以通过dev@sqlmap.org与SQLmap的所有开发者联系。 执行SQLmap的命令是什么? 进入sqlmap.py所在的目录,执行以下命令: #python sqlmap.py -h (译注:选项列表太长了

SQL注入

房东的猫 提交于 2019-12-11 00:48:41
SQL注入:POST注入 POST注入简介 POST注入属于注入的一种,相信大家在之前的课程中都知道POST\GET两种传参方式。 POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别。 POST注入高危点 登录框、查询框等各种和数据有交互的框 最经典的POST注入案例:'or 1=1 # Sqlmap如何对POST类型SQL注入进行注入 --forms sqlmap去读取页面中POST传参的表单的传参名然后进行SQL注入 -r 1.txt sqlmap读取数据包文件进行SQL注入,注入处可以打一个*号告诉Sqlmap测试那个点 post注入 在填写表单的时候提交使用post传参 一般是在用户名框或者密码框尝试 sqlmap如何跑post注入 方法一:sqlmap.py -u http://xxxxxx --form 方法二:通过抓包的方式,保存在文件中,在注入点加上 * 号提示sqlmap,同时有些注入点,是需要登录的状态下的权限,而一般的sqlmap是没有权限的,但是通过抓包的方式存在cookie SQL注入:HEAD注入 HEAD注入原理 HEAD注入顾名思义就是在传参的时候,将我们的数据构建在http头部。 HEAD注入的使用场景 为什么网站要记录你的ip或者请求头,是为了方便你的二次登陆,区分你的登陆地址和设备,可以更高的自适应。[所以

XCTF--WEB NewsCenter

淺唱寂寞╮ 提交于 2019-12-10 13:47:35
XCTF–WEB NewsCenter 我们看到页面发现一个搜索的页面,猜到可能存在post类型的注入 如是乎我们搜索1111抓包 讲抓到的包复制到txt文件中。用sqlmap一顿嗦 sqlmap.py -r post.txt --dbs 暴库。 发现一个news库。我们直接输入 sqlmap.py -r post.txt -D news --dump 得到flag 来源: CSDN 作者: LHK~~ 链接: https://blog.csdn.net/weixin_45425482/article/details/103472504

安全测试工具

偶尔善良 提交于 2019-12-09 21:23:34
1. AppScan 一款安全漏洞扫描工具,支持Web和移动,现在安全测试做漏洞扫描非常适用,它相当于是"探索"和"测试"的过程,最终生成很直观的测试报告,有助于研发人员分析和修复通常安全测试工具用这个,扫描一些安全漏洞,用起来比较方便,网上资料比较多,适合很多测试同学用,资料广阔,大家可以尝试下。 官网:https://www.ibm.com/developerworks/downloads/r/appscan/ 参考:https://www.cnblogs.com/benpao1314/p/8065720.html 2. Burp Suite 一款信息安全从业人员必备的集 成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了 Proxy,Spider,Scanner,Intruder,Repeater,Sequencer,Decoder,Comparer等工具模块;Proxy功能可以拦截HTTP/S的代理服务器(手机和web);Spide功能-智能感应的网络爬虫;Intruder功能可以对web应用程序进行自动化攻击等,非常适合做安全测试。通 过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试,是web安全人员的一把必备的瑞士军刀。 官网:https://portswigger.net/burp/ 参考

简单的sql注入1-3详解及相关阅读(实验吧)

狂风中的少年 提交于 2019-12-07 00:48:37
1 简单的Sql注入 类型:sql注入 题目链接: http://www.shiyanbar.com/ctf/1875 解题过程: 打开页面看到一个输入框和提交,先尝试输入一些简单的东西,发现输入1 2 3都是有结果的,输入4之后没有结果。 按照sql注入惯用思想,尝试输入特殊字符——单引号,可以看到报错,并且根据错误信息可以推断数据库语句可能是简单的select xxx from xxx 在注入时,需要获取某字符,可以使用联合查询的方式(如果是登录的话可以使用万能登录字符串)进行尝试,需要先获取数据库名、表名及字段名 获取数据库名:输入 1' union select database()' 但是发现报错中只有 'database()''' ,于是猜测是否对于数据库语句进行了过滤。再次进行输入判断其过滤方式: 输入1' unionselect database()',发现报错为 'uniondatabase()''' ,对比前一次发现,union未被过滤,而select依旧被过滤,判断是过滤带有空格的数据库关键词,此时可以通过很多方式进行绕过,如加上+、%0a、%0b、/**/等字符,或者将关键词写两遍,如上,查询数据库名时输入: 1' union/**/select/**/database()',得到数据库名称为 web1 下面用同样的方法查询表名,输入: 1' union/*

Sqlmap学习笔记(三)

爷,独闯天下 提交于 2019-12-06 13:11:50
Sqlmap性能优化设置 Sqlmap设置持久HTTP连接,sqlmap默认是一次连接成功后马上关闭。 HTTP报文中相当于Connection: Close(一次连接马上关闭) 要扫描站点的URL比较多时,这样比较耗费性能,所以需要将HTTP连接持久化来提高扫描性能。 HTTP报文相当于Connection: Keep-Alive 如果在Sqlmap中设置的话,只需要加上 --keep-alive 参数 sqlmap -u "目标URL" --keep-alive Sqlmap设置不接收Http Body(响应体)部分 Body部分内容太大会增加HTTP响应延迟,如果只关心响应头部分内容,则可以设置空连接 设置参数--null-connection sqlmap -u "目标URL" --null-connection Sqlmap设置多线程 Sqlmap默认是单线程访问的,扫描的顺序串行执行,必须要等到上一次请求成功后才会执行后面的扫描,这样以来,扫描的效率就会低很多。因为网络连接是耗时操作,等待服务端响应的这段时间,Sqlmap就什么都做不了,本地的CPU、内存资源得不到有利的利用。而多个线程并行处理请求则可以有效的利用本地系统资源。 但是设置线程太多也不好,因为线程越多,服务端的压力越大,可能会导致响应速度大幅度降低甚至出现丢包现象,导致请求无响应

Sqlmap学习笔记(二)

一世执手 提交于 2019-12-06 08:56:50
Sqlmap设置Http请求参数 ​ --cookie:指定cookie信息,用来代理登陆状态,如果站点目标URL需要登陆之后才能访问,那么在使用sqlmap对目标URL进行扫描时需要将登陆后的cookie一并带过去,不然sqlmap的扫描有可能会被重定向到登陆页面,或者没有访问该接口的权限 ​ --method:指定http请求方式,如POST、GET、DELETE、PUT等 ​ --data:POST请求所携带的参数,如果指定了这个选项,那么请求方式默认是POST ​ --param-del:GET或POST参数默认分隔符,默认是&,如果设置成“,”,那么GET参数格式为 ​ ?id=1;name=张三 , ​ POST请求方式需要通过配合--data选项来设置 ​ --data="id=1;name=张三" ​ --level: 测试的安全等级(1-5, 默认1),值越大,扫描深度越大 ​ -p:要测试的参数 ​ 如要扫描的url为: http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit# 可以只扫描id参数,通过-p指定,多个字段用逗号分隔 sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie

Sqlmap学习笔记(一)

↘锁芯ラ 提交于 2019-12-06 05:56:46
Sqlmap安装 进入 sqlmap官网 ,下载,运行sqlmap.py文件即可 python sqlmap.py 通过pip安装 pip install sqlmap 直接在命令行运行sqlmap即可 Sqlmap直连数据库 sqlmap -d mysql://root:root@localhost:3306/test -f --banner ​ 如果报错需要下载pymysql模块 pip install pymsql ​ -d:直连数据库,后面跟着连接信息 -> mysql://用户名:密码@主机名:端口/数据库 ​ -f:打印DBMS信息 ​ --banner:打印banner信息,准确的版本号 ​ 成功访问,获取mysql信息 [23:47:45] [INFO] connection to MySQL server 'localhost:3306' established [23:47:45] [INFO] testing MySQL [23:47:45] [INFO] resumed: [['1']]... [23:47:45] [INFO] confirming MySQL [23:47:45] [INFO] resumed: [['1']]... [23:47:45] [INFO] the back-end DBMS is MySQL [23:47:45] [INFO

数据库测试工具记录

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-06 02:12:35
目录 测试端 测试端操作系统 sqlmap版本 测试文件 服务端 服务端系统 php版本、apache版本 web目录 数据库 测试端 测试端操作系统 cat /etc/os-release PRETTY_NAME="Kali GNU/Linux Rolling" NAME="Kali GNU/Linux" ID=kali VERSION="2019.4" VERSION_ID="2019.4" VERSION_CODENAME="kali-rolling" ID_LIKE=debian ANSI_COLOR="1;31" HOME_URL="https://www.kali.org/" SUPPORT_URL="https://forums.kali.org/" BUG_REPORT_URL="https://bugs.kali.org/" sqlmap版本 #sqlmap --version 1.3.10#stable 测试文件 ls /sql* /sql1.txt /sql.txt sql.txt(普通字节) sql1.txt(宽字节) 服务端 服务端系统 NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS