作为一只小小小白的安全新手,只会简单的用sqlmap扫扫网站,用burpsuite的proxy模块拦截一些请求。最近又对proxy有点儿小理解,记录之。

1. 查看sqlmap注入的语句以及HTTP request/response信息

sqlmap是很好用的自动测试工具,但有时候想要查看请求具体的内容,也就是payload的内容。sqlmap自带了-v 参数,当-v >= 3的时候会显示注入的payload,但在实际测试过程中页面刷的太快看不清内容,且呈现的效果不易读。可以通过设置proxy参数,在burpsuite中查看sqlmap的请求信息。

burpsuite的设置:

sqlmap中添加一行 --proxy="http://127.0.0.1:8080"   //这个地址是burp中设置的代理端口的地址

效果如下:

proxy中的拦截状态无论是打开的还是关闭的,通过8080端口出去的数据都会被记录在proxy的history中

2. 修改http response内容

proxy在拦截http request的时候,会将具体的信息呈现在面板上。可以进行修改之后再提交,但是对于http response,是直接反馈到浏览器里。

如果想对返回的信息做修改,可以这样做:

action -> do intercept -> response to this request

点击Forward提交,就会将response内容呈现在面板上,修改后点击forward,修改完成

3. 暴力破解模块

4. sqlmap tamper

之前了解过关于防火墙的一些知识,原本以为有了防火墙,sqlmap就完全无力了。乱看的时候看到tamper这条属性,眼前一亮。tamper会对payload做一些特殊处理来绕过黑名单类的WAF,比如将=替换为like,将payload进行url编码等。

sqlmap自带了很多tamper函数,在/tamper文件夹中可以找到。使用方法如下:

sqlmap.py -u "http://127.0.0.1/test.php?id=1"  –tamper “space2morehash.py”

列举部分函数如下:

apostrophemask.py    用utf8代替引号
equaltolike.py       like 代替等号
space2dash.py      绕过过滤‘=’ 替换空格字符(”),(’ – ‘)后跟一个破折号注释,一个随机字符串和一个新行(’ n’)
greatest.py        绕过过滤’>’ ,用GREATEST替换大于号。
space2hash.py      空格替换为#号 随机字符串 以及换行符
apostrophenullencode.py  绕过过滤双引号,替换字符和双引号。
halfversionedmorekeywords.py  当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论
space2morehash.py  空格替换为 #号 以及更多随机字符串 换行符
appendnullbyte.py  在有效负荷结束位置加载零字节字符编码
ifnull2ifisnull.py    绕过对 IFNULL 过滤。
space2mssqlblank.py(mssql)  空格替换为其它空符号
 
部分函数仅对特定数据库有作用,具体参考/doc/中的文档
或者 http://www.91ri.org/7869.html
http://www.2cto.com/Article/201311/256399.html

【web安全】第五弹:burpsuite proxy模块的一些理解的更多相关文章

  1. Burpsuite常用模块详解以及渗透测试上的运用

    0x00前言 哪有什么前言,大家好,我是浅安.QQ:320229344... 0x01 JDK的安装,以及Burpsuite的成功开启. burpsuite基于JAVA环境才能正常运行的.所以要先安装 ...

  2. http proxy模块参数

    http proxy模块参数 nginx功能的代理功能是是通过http proxy模块来实现的.默认在安装Nginx是已经安装了http proxy模块,可以直接使用. http模块相关参数 说明 p ...

  3. 前端学习 第五弹: CSS (一)

    前端学习 第五弹: CSS (一) 创建css: <link rel="stylesheet" type="text/css" href="my ...

  4. nginx反向代理proxy模块相关参数

    http_proxy_module Proxy_pass proxy_pass指令属于ngx_http_proxy_module模块,此模块可以将请求转发到另一台服务器:官方说明:http://ngi ...

  5. Web Service进阶(五)SOAPBinding方式讲解

    Web Service进阶(五)SOAPBinding方式讲解 Java API for XML Web Services (JAX-WS) 2.0 (JSR 224) Standard Implem ...

  6. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  7. Nginx配置之location模块和proxy模块

    1.location指令的用法介绍 Location主要用来匹配url,如:http://www.beyond.com/nice,在这里对于location来说www.beyond.com是域名,/n ...

  8. 【Python】【Web.py】详细解读Python的web.py框架下的application.py模块

    详细解读Python的web.py框架下的application.py模块   这篇文章主要介绍了Python的web.py框架下的application.py模块,作者深入分析了web.py的源码, ...

  9. Web标准:五、超链接伪类

    Web标准:五.超链接伪类 知识点: 1.链接的四种样式 2.将链接转换为块状 3.用css制作按钮 4.首字下沉   1)链接的四种样式 超链接有四个伪类,分别是: a:link 未访问的链接 a: ...

随机推荐

  1. android优化(json工具,message新建/传递,avtivity深入学习视频)

    1,在线json校验工具:www.bejson.com 2, 在handler中经常使用的 message的传递上,message.what使用静态量 . private static final i ...

  2. 【转】三次握手与accept()函数

    1. 客户端发送SYN给服务器 2. 服务器发送SYN+ACK给客户端 3. 客户端发送ACK给服务器 4. 连接建立,调用accept()函数获取连接

  3. Linux--------------安装mysql(2)

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中:cd /usr/local/ 3 创建目 ...

  4. redis持久化(摘录)

    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Ap ...

  5. web项目设计与开发——DBHelper2

    第二次学习的内容是根据DBHelper遍历出数据库中的所有数据. 具体内容为:   一.编写程序    1.创建工程——userMangager    2.在src目录下创建四个包,分别为DAO,DB ...

  6. 通过Html5的postMessage和onMessage方法实现跨域跨文档请求访问

    在项目中有应用到不同的子项目,通过不同的二级域名实现相互调用功能.其中一个功能是将播放器作为单独的二级域名的请求接口,其他项目必须根据该二级域名调用播放器.最近需要实现视频播放完毕后的事件触发,调用父 ...

  7. 利用javascript实现文本的自动输出

    主要利用了setTimeout(),递归和String.substring(); 做出的效果就像是有一个打字员在打字. <!doctype html> <html lang=&quo ...

  8. IEnumerable接口的扩展方法

    /// <summary>/// IEnumerable接口的扩展方法,支持它的实现类是List的情况/// </summary>using System.Collection ...

  9. pb popmenu弹出式选单位置的问题

    在主界面上使用m_main.m_title.PopMenu(PointX(),PointY()),可以正确定位弹出式选单的位置: 在主界面的控件智商为使用m_main.m_title.PopMenu( ...

  10. JavaScript高级程序设计(四): 关键字With的使用

    一.关键字with 1.含义    with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象.   简单的说,with为一个或一 ...