WebScarab

这主要是一款代理软件 或许麽有其他的工具能和OWASP的WebScarab如此丰富的功能相媲美了,如果非要列举一些有用的模块的话,那么他们包括HTTP代理,网络爬行、网络蜘蛛,会话ID分析,自动脚本接口,模糊测试工具,对所有流行的WEB格式的编码/解码,WEB服务描述语言和SOAP解析器等。WebScarab基于General Public License(GNU)版本协议。和Paros 一样是用JAVA编写的,因此安装它需要JRE.
WebScarab的HTTP代理提供了预期的功能(包括HTTPS拦截,不过和PAROS一样有认证报警)。WebScarab也提供了一些花哨的功能,比如SSL客户认证支持,十六进制或URL编码参数的解码,内置的会话ID分析和一键式“完成该会话”以增加效率等。图1-8显示WebScarab篡改隐藏的"Cost"字段,本章中在多处引用了该字段。就基本功能而言,WebScarab和PAROS差不多,但WebScarab为更懂技术的用户提供了更多的功能,并提供了对隐藏的底层更多的访问。但是,由于PAROS更简单,我们仍推荐学者在开始时使用它。

结合WebScarab对WebGoat进行SQL的注入

SQL注入是目前Web应用中最常见的漏洞,只要网页上有提交框并且该提交框的内容影响后台的查询的SQL语句,就可能存在该漏洞。一般程序员在编写Web应用程序时都是直接从request中取出提交的参数的值放入到SQL语句中进行查询,这就造成了一个又一个的SQL注入风险。熟悉SQL语句的攻击者会在网页输入框中输入设计好的内容,将SQL的查询逻辑改变,从而得到自己想要的东西。举几个例子:
    案例1:绕过登录界面:
         常见的登录页面有两个输入框,一个用户名,一个密码,后台的SQL语句为
         select * from Users where username=’[用户名]’ and password=’[密码]’
         其中[用户名]和[密码]分别为在两个输入框中输入的内容,一般来说没有什么问题,程序员只要判断返回的recordset的记录数大于0就可以使用户登录进去,但是如果恶意用户在用户名中输入x’ or ‘1’=’1,密码随便输,那么后台的SQL查询语句就会变为
         select * from Users where username=’ x’ or ‘1’=’1’ and password=’[密码]’
         其中where语句的逻辑值始终为真,如果能猜中用户名,即可以使用该用户登录
    案例2:执行危险的SQL语句;
         现在不少数据库支持批处理,使用分号隔开多个SQL语句,如一个查询界面,可以查询客户号(客户号为数字类型),后台的SQL语句为:
         select * from customers where ID=[客户号]
         其中[客户号]为用户输入内容,假如用户输入的为1;drop table customers。则整个SQL语句变为select * from customers where ID=[客户号] 1;drop table customers,这样的查询一过,Customers表就没了。
         使用同样的手法,恶意用户还可以植入触发器,修改数据,总之,可以执行后台的SQL执行时使用的数据用户权限内的所有操作。

当然SQL注入攻击也不见得都是这么简单,有的时候需要认真分析网页,猜测其SQL的结构,并且需要利用一些工具进行辅助。本文对WebGoat教程中的一段有关SQL 注入测试进行解释,WebGoat我在另一篇文章【学习Web应用漏洞最好的教程----WebGoat】中有过介绍。因为在测试中用到了WebScarab,这里简单介绍一下。

WebScarab说白了就是一个代理工具,他可以截获web浏览器的通信过程,将其中的内容分析出来,使你很容易修改,比如我发一个submit请求,WebScarab首先截获到,不急着给真正的服务器,而是弹出一个窗口让你可以修改其中的内容,修改结束了再提交给服务器,如果网页的输入框进行了一些限制,如长度限制、数字格式限制等,只能使用这种方式进行修改了;它也可以修改服务器返回的response,这就可以过滤掉一些对客户端进行限制的js等。这是OWASP的另一利器。

下面开始注入过程:
         首先明确目标,webgoat的教程:

界面上只有一个输入框,该教程的要求是要我们使用SQL注入方法登入界面,兴冲冲的在password中输入x’ or ‘1’=’1,不行,原来这个password框只能输入8个字符,刚才的那个有12个字符之多!这时看样子要祭出WebScarab了。
      WebScarab的默认运行模式为Lite模式,如下图:

需要将其更改为Full-Featured Interface模式,勾选上图中的【use Full-Featured Interface】,重新启动WebScarab,界面如下,多了很多功能选项:

因为我们要截获发出的请求,将【Proxy】-【Manual Edit】-【Intercept request】勾选上。在IE中将代理服务器指向本机的8008端口(webscarab的),在webgoat的密码框中输入111提交,马上弹出了如下界面:

其中password可以修改为:x’ or ‘1’=’1,点击Accept Changes,成功,界面如下:

webscarab fuzz testing相关推荐

  1. 模糊测试(fuzz testing)介绍(一)

    模糊测试(fuzz testing)是一类安全性测试的方法.说起安全性测试,大部分人头脑中浮现出的可能是一个标准的"黑客"场景:某个不修边幅.脸色苍白的年轻人,坐在黑暗的房间中,正 ...

  2. 基于TCP协议fuzz testing模糊测试案例分享

    1.模糊测试概念: 模糊测试 (fuzz testing, fuzzing)是一种软件测试技术.其核心思想是自动或半自动的生成随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion ...

  3. 介绍模糊测试(Fuzz Testing,Fuzzing)

    介绍模糊测试(Fuzz Testing,Fuzzing) 一.什么是模糊测试? 模糊测试是一种自动或半自动的测试技术,常被用来发现软件/操作系统/网络的代码中的错误和安全性问题,其中用于输入随机的数据 ...

  4. FairFuzz: A Targeted Mutation Strategy for Increasing Greybox Fuzz Testing Coverage

    摘要 本文提出了FAIRFUZZ,从两个方面改进AFL: 自动化识别很少被输入hit的分支 提出创新的mutation mask创造算法,使生成的输入能够hit给定的rare branch 1 介绍 ...

  5. Test Renderer

    Test Renderer 如何引入 import TestRenderer from 'react-test-renderer'; // ES6 const TestRenderer = requi ...

  6. 关于Fuzz工具的那些事儿

    前段时间一直在研究fuzz工具,这里就写篇文章总结一下下. 在安全测试中,模糊测试(fuzz testing)是一种介于完全的手工渗透测试与完全的自动化测试之间的安全性测试类型.能够在一项产品投入市场 ...

  7. 4月12日 | 【NDSS 2020】FUSE: Finding File Upload Bugs via Penetration Testing

    FUSE: Finding File Upload Bugs via Penetration Testing 作者 作者 来自于 方向 link 备注 Taekjin Lee 曾经实验室的毕业生 略 ...

  8. 「第五篇」FUZZ模糊测试

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

  9. Fuzz的原理与实现

    模糊测试(fuzz testing)是一种自动化的软件测试技术,通常用于识别程序中的潜在漏洞.其概念最早由威斯康辛大学的巴顿·米勒于1989年提出.AFL是一种fuzz方法,目前广泛使用在模糊测试中. ...

最新文章

  1. 【Codeforces】1093C Mishka and the Last Exam
  2. HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
  3. Andriod监听支付宝收款实现个人支付宝支付接口!附安卓App
  4. 首个进入Gartner领导者象限的中国数据库要开发布会了!
  5. 微信发力了,一键部署网站后端!
  6. Struts2入门(二)——配置拦截器
  7. 推荐--jQuery使用手册
  8. 介绍两款WordPress文章转移插件
  9. pv=clear后的修复
  10. jmeter 添加虚拟IP
  11. [渝粤教育] 中国地质大学 大学英语(3) 复习题
  12. 2010.2--ip redirects 和 ip directed-broadcast含义
  13. Better Explained 以通俗易懂的语言阐释数学
  14. 银行行号和银行代码是一样的吗?区别是什么?
  15. 城市级智能网联招投标项目情况全扫描(2021版)
  16. 微信小程序switch样式修改
  17. Unbox failed! RequestError: Error: connect ETIMEDOUT 151.101.76.133:443
  18. 在线vr高清3d展示线上三维展示平台
  19. 给到工作的你诗和远方~
  20. SCI期刊论文发表的优势有哪些

热门文章

  1. 2021年秋季校招_软件技术_Java开发工程师_求职心得
  2. 读书:冯唐的《金线》
  3. 《Python进阶系列》十六:详解Python中的正则表达式
  4. reduce函数详解以及自己实现一个reduce函数
  5. matlab波形的thd波形,Matlab图片处理函数小记
  6. CodeM2018 初赛A轮 第1,2题
  7. 喜马拉雅android sdk接入,喜马拉雅(com.ximalaya.ting.android) - 8.0.1.3 - 应用 - 酷安
  8. canvas 绘制逼真人物_绘制逼真的iPad2 – Photoshop教程
  9. docker删除镜像时报错解决办法
  10. 深圳软件测试培训:测试当中用到的性能指标