sqlmap mysql 登录_SqlMap简单使用
SqlMap简单使用
有时候我们得到的 网站后台的登录密码 = 网站服务器的远程桌面服务登录密码 = FTP服务登录密码 (有几率)
sql注入 mysql
可使用综合性扫描软件扫描,在配合手工检测确认注入点,得到注入点后用sqlmap
参数选其讲解
参数:-r
sqlmap可以从一个文本文件中获取HTTP请求,这样就可以跳过设置一些其他参数(比如cookie,POST数据,等等)。
比如文本文件内如下:
POST /vuln.php HTTP/1.1
Host: www.target.com
User-Agent: Mozilla/4.0
id=1
当请求是HTTPS的时候你需要配合这个--force-ssl参数来使用,或者你可以在Host头后门加上:443
参数:-m
文件中保存url格式如下,sqlmap会一个一个检测
www.target1.com/vuln1.php?q=foobar
www.target2.com/vuln2.asp?id=1
www.target3.com/vuln3/id/1*
从文件中加载HTTP请求
参数:--cookie,--load-cookies,--drop-set-cookie
这个参数在以下两个方面很有用:
1、web应用需要登陆的时候。
2、你想要在这些头参数中测试SQL注入时。
可以通过抓包把cookie获取到,复制出来,然后加到--cookie参数里。
在HTTP请求中,遇到Set-Cookie的话,sqlmap会自动获取并且在以后的请求中加入,并且会尝试SQL注入。
如果你不想接受Set-Cookie可以使用--drop-set-cookie参数来拒接。
当你使用--cookie参数时,当返回一个Set-Cookie头的时候,sqlmap会询问你用哪个cookie来继续接下来的请求。当--level的参数设定为2或者2以上的时候,sqlmap会尝试注入Cookie参数。
HTTP User-Agent头
参数:--user-agent,--random-agent
默认情况下sqlmap的HTTP请求头中User-Agent值是:
sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)
可以使用--user-anget参数来修改,同时也可以使用--random-agnet参数来随机的从./txt/user-agents.txt中获取。
当--level参数设定为3或者3以上的时候,会尝试对User-Angent进行注入。
HTTP(S)代理
参数:--proxy,--proxy-cred和--ignore-proxy
使用--proxy代理是格式为:http://url:port。
当HTTP(S)代理需要认证是可以使用--proxy-cred参数:username:password。
--ignore-proxy拒绝使用本地局域网的HTTP(S)代理。
HTTP请求延迟
参数:--delay
可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的。
设定超时时间
修改注入的数据
参数:--tamper
sqlmap除了使用CHAR()函数来防止出现单引号之外没有对注入的数据修改,你可以使用--tamper参数对数据做修改来绕过WAF等设备。
下面是一个tamper脚本的格式:
# Needed imports
from lib.core.enums import PRIORITY
# Define which is the order of application of tamper scripts against
# the payload
__priority__ = PRIORITY.NORMAL
def tamper(payload):
'''
Description of your tamper script
'''
retVal = payload
# your code to tamper the original payload
# return the tampered payload
return retVal
注入技术
测试是否是注入
参数:--technique
这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式。
支持的探测方式如下:
B: Boolean-based blind SQL injection(布尔型注入)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(可联合查询注入)
S: Stacked queries SQL injection(可多语句查询注入)
T: Time-based blind SQL injection(基于时间延迟注入)
SQLMap 使用心得
I. 提高SQLMap测试等级
‐‐risk 这个参数就是把测试等级提高,如是 --risk 3 那么测试就是最高,这样SQLMap会测试更加多的注⼊语句。
举个栗⼦:
没有加 ‐‐risk 3 的情况下,SQLMap 就测试 5hoanqu' and 789=789 and 'hcme'='hcme ,
但是如果加了 ‐‐risk 3 参数,就会增加测试语句, 5hoanqu') and 789=789 and ('hcme'='hcme ,对⽐起来,虽然只是加了2个字符,但是意义却相差很多了的。
II. 增加被测试的参数
‐‐level 3 假设存在注⼊的URL为: http://baidu.com/new.php?nid=5haoanqu ,在GET请求中,我们⽬前看得到的参数就⼀个:nid.但是当我们访问过⼀个⽹站之后,我们都会得到⼀个cookie,当我们继续访问⽹站的时候,浏览器就会加载我们的cookie,⼜因为cookie存在我们本地,我们⼜是可以控制这个cookie的,所以我们就可以在cookie上⾯加⼊我们注⼊测试语句。⽽像UserAgent头也是⼀样的,具体你可以看看以下⽂章:
III. 找到正确的请求页⾯
通常情况下我们直接在浏览器看到的URL上⾯的参数就是被带⼊数据库查询的参数,但是事实上并不是全部的东西都如我们眼睛看到的样⼦。
注意点:
我们在填写搜索关键词的时候,⼀定要找出那些能够搜索出内容的关键词,⽐如你在实战中搜索dark5,但是⽹站没有关于dark5的⽂章内容,就不会出现正常的搜索结果,这样我们把注⼊语句加在dark5的后⾯时,是没有办法判断我们的SQL语句是否成功执⾏,就没有办法达到我们想要的结果了。
有些⽹站不⼀定存在这么多个GET或者POST的请求包的,⽐如某个⽹站,你填写好搜索关键词后,就先请求⼀个GET再请求⼀个POST包就完事了,但是⼤多数情况是要么请求⼀个GET,要么请求⼀个POST包。主要是看⽹站是否采⽤ajax。那么阿⾔这个⽹站的注⼊点就是第3个的POST和第4个的POST请求,因为从这个2个“Response”就能反应出SQL语句执⾏的结果。
IV. 指定测试位置
* ⽤这个参数来指定测试语句的位置,这个通常⽤在注⼊伪静态页⾯。也可以⽤在正常注⼊点,在⼿⼯确认某个位置可注⼊的使⽤,使⽤该参数可提高注⼊效率。
相关伪静态注⼊⽂章和视频如下:
渗透⽇记-利⽤SQLMAP伪静态注⼊
SQLMap 配合 DNSlog
似懂非懂..
SQLMap注入伪静态
漏洞发现
经发送到 Repeater 加 ' 测试发现是注入。
注⼊看测试的位置,是在值的后⾯。 形如 http://www.baidu.com/index.php/Home/English/en_NewsDetail/id/92.html 的URL格式,⼤概率就是伪静态,即伪装成静态⽹页的动态链接。这种情况我们是可以测试注⼊的。 (92' 用来尝试测试)
SQLmap注入参数
SQLMap处理高权限的SQL Server的注入
找到注入点,用sqlmap注入,查询是否是系统权限sa,后再执行--os-shell,交互式os_shell界面,但不是真正的shell,只是像而已,手注的操作都可以使用,如果无回显,可用远程日志dnslog来判断shell是否成功执行命令结果,或者执行命令不知道; 不必太过拘泥于结果显示回来;
echo 1 > 网站地址\1.txt ,发现是可行的
--sql-shell 权限不够大,执行一些数据库命令
SQLMap处理高权限的mysql的注入
找到注入点,用sqlmap注入,查数据库、当前用户权限,爆出物理路径
是高权限,--os-shell,--sql-shell
sqlmap mysql 登录_SqlMap简单使用相关推荐
- sqlmap mysql案例_sqlmap简单mysql注入演示附截图
安装教程百度一下就有了. 首先下载需要的文件,如果是windows环境直接到 看大牛的视频,学习一下,附上截图....算是转载吧...只是为了分享一下.. 下边是实例: sqlmap.py -upda ...
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析 . / // datadase odbc1.cpp : 定义应用程序的入口点. // #inc ...
- mysql 5.6 登录 警告_解决mysql登录出现警告问题的简单方法
解决mysql登录出现警告问题的简单方法 发布时间:2020-05-11 11:50:39 来源:亿速云 阅读:125 作者:三月 本文主要给大家介绍解决mysql登录出现警告问题的简单方法,文章内容 ...
- PHP+Mysql 实现最简单的注册登录
PHP+Mysql 实现最简单的注册登录 一.先将两个服务打开 二.创建数据库 create database test; // 创建一个叫test的数据库 use test; // 进入这个数据库 ...
- javaweb(servlet)+jsp+Mysql实现的简单相册管理系统(功能包含登录、管理首页、添加图片、分类管理、修改密码、图片详情等)
博客目录 javaweb(servlet)+jsp+Mysql实现的简单相册管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 javaweb(servlet)+jsp+Mysql实现的简单相 ...
- swing和MySQL登录注册_JavaSwing+Mysql实现简单的登录界面+用户是否存在验证
原生Java+mysql登录验证 client login.java 功能:实现登录页面,与服务端传来的数据验证 package LoginRegister; import java.awt.Cont ...
- mysql入门很简单系列视频-学习笔记
mysql入门很简单系列视频-学习笔记 视频链接:mysql入门很简单系列视频 https://www.bilibili.com/video/av14920200/ 以前主要就了解DDL.DML.DC ...
- php mysql 简单留言板_PHP+MySql实现一个简单的留言板
跟着书学的,代码不是自己写的,但是都能理解,有时间自己去写个好看一点的吼吼吼-(不熟练花了一天的时间- 留言板是接触WEB开发的基础,写一个留言板需要知道前端的一些基础标签,对数据库有一个了解会基础S ...
- JSP+Mysql 做一个简单的学生成绩查询web系统
IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 (2)JdK的安装 Tomcat的下载 ...
最新文章
- 应用设计模式进行重构来消除坏味道
- window.location.href不打开新窗口_嘿,这条微博值得一看:不登录如何访问页面
- Mybatis接口注解开发
- 关于 Google Chrome 操作系统的 5 个问题
- Swift中文教程(十八) 类型检查
- Java虚拟机的什么周期
- AWS 创业背后,竟是“被迫无奈”?
- 77----空间直角坐标变换、平移、旋转、伸缩
- db2v9/9.5高级应用开发_11月26日 l FloMASTER元器件开发及高级应用公开课
- idea 修改前后端代码自动运行
- 动易 转 html5,动易系统所有标签解释5
- 局域网搭建Linux镜像源
- 我学会了用计算机作文,我学会了电脑作文
- 【uniapp前端组件】仿微信通讯录列表组件
- java是什么?好学吗?
- [问题]浏览器主页被劫持为2345
- 揭开光宇华夏高层几位伪君子炒作的真相
- 02笔记 离散数学——命题逻辑——基于离散数学(第3版)_章炯民,陶增乐
- Java-使用集合存储快递的信息
- CC攻击和DDoS攻击的区别是什么