WebGoat系列实验Injection Flaws

Numeric SQL Injection

  1. 下列表单允许用户查看天气信息,尝试注入SQL语句显示所有天气信息。
  2. 选择一个位置的天气,如Columbia,点击Go!按钮,使用Burp拦截GET请求,将参数station的值由原来的101改为101 or '1' = '1',将报文发送,服务器返回了所有的天气信息。

Log Spoofing

  1. 实验下方的灰色区域代表了web服务器的登录日志,目标是伪造admin用户登录的日志记录。
  2. 尝试随意输入一个用户名yangmzh3,点击Login按钮,在日志中出现一行Login failed for username: yangmzh3
  3. 构造用户名为yangmzh3%0d%0aLogin succeed for username: admin,%0d字符表示回车CR,%0a字符表示换行LF,伪造了admin用户登录的日志。

XPATH Injection

  1. 下列表单允许雇员查看个人数据依据薪水信息。已知账户Mike/test123,目标是查看其他雇员的数据信息。
  2. 用户名与密码输入'or'1'='1,点击Submit按钮,服务器返回了所有雇员的数据信息。

String SQL Injection

LAB: SQL Injection

Stage 1:String SQL Injection

  1. 尝试使用boss Neville的账户进行登录,验证Neville的个人简介可以查看,其他功能也可以使用。
  2. 用户名选择Neville,密码输入'or'1'='1,点击Login按钮,发现登录失败。
  3. 再次输入上述密码,使用Burp拦截GET请求报文,发现发往后台服务器的密码发生了改变,说明前端对不合法的字符进行了URL编码处理。
  4. 在Burp中把密码修改为'or'1'='1,再次提交,成功使用Neville登录。

Stage 2:Parameterized Query #1

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

++Stage 3:Numeric SQL Injection++

  1. 作为雇员Larry,使用SQL注入参数来查看boss Neville的个人简介。
  2. 使用Larry进行登录,选中Larry Stooge,点击ViewProfile按钮查看Larry个人简介。使用Burp拦截GET请求报文,尝试对参数employee_id进行修改。
  3. 将id由101改为102,返回An error has occurred.
  4. 将id由101改为101' or '1' = '1,返回An error has occurred.
  5. 将id由101改为101 or 1 = 1,返回Larry的个人简介。
  6. 将id由101改为101 or '1' = '1',返回Larry的个人简介。
  7. 将id由101改为101 or 1 = 1 order by phone desc,返回了Sean Livingston的个人信息。由此判断页面显示的是以用户id作为索引返回的数据表中的当前第一条记录。
  8. 将id由101改为101 or 1 = 1 order by salary desc,返回了boss的个人信息。

Stage 4:Parameterized Query #2

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Database Backdoors

  1. 尝试使用一条额外的SQL语句查询用户ID为101的薪水,并将薪水调高。

WebGoat系列实验Injection Flaws的更多相关文章

  1. WebGoat系列实验Authentication Flaws

    WebGoat系列实验Authentication Flaws Forgot Password Web应用经常给用户提供取回密码的功能,但是许多应用的实现策略实现的很差,用于验证用户的信息非常简单. ...

  2. WebGoat系列实验Access Control Flaws

    WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...

  3. WebGoat系列实验AJAX Security

    WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...

  4. WebGoat系列实验Cross-Site Scripting (XSS)

    WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...

  5. WebGoat系列实验Denial of Service & Insecure Communication

    WebGoat系列实验Denial of Service & Insecure Communication ZipBomb 服务器仅接收ZIP文件,将上传的文件解压,进行操作之后删除.已知服务 ...

  6. WebGoat系列实验Buffer Overflows & Code Quality & Concurrency

    WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...

  7. Mininet 系列实验(六)

    写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...

  8. Mininet 系列实验(四)

    实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...

  9. Mininet 系列实验(三)

    实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用. 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubu ...

随机推荐

  1. MySQL实战 | 03 - 谁动了我的数据:浅析MySQL的事务隔离级别

    原文链接:这一次,带你搞清楚MySQL的事务隔离级别! 使用过关系型数据库的,应该都事务的概念有所了解,知道事务有 ACID 四个基本属性:原子性(Atomicity).一致性(Consistency ...

  2. Storm实时计算:流操作入门编程实践

    转自:http://shiyanjun.cn/archives/977.html Storm实时计算:流操作入门编程实践   Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比 ...

  3. 【redis】redis的 key的命名规则

    key的命名规则 定义为 MS-TEN:SESSION_KEY_IN_LOGIN_NAME:fqh 使用:进行分割,这样存入redis的是有层次结构的,如下

  4. POJ1733:Parity game

    浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html 题目传送门:http://poj.org/problem?id=1733 带权并查集裸题.区间和 ...

  5. 关于一种fastjson的死循环情况记录

    最近在一次项目中,使用fastjson做接口转换中,碰到了一个Stack Overflow.发现在getxxx方法内如果再次嵌套使用fastjson作json转换,就会无限循环. 错误实例: clas ...

  6. PyCharm 2017.2.2+PyQt5+Python3.6.0

    PyCharm注册地址 http://idea.imsxm.com/ 安装的是miniconda激活虚拟环境执行pip install PyQt5pip install PyQt5-tools 从官网 ...

  7. thinkphp <volist>标签中 <if> 判断的写法

    thinkphp <volist>标签中 <if> 判断的写法 <volist name="data" id="vo"> & ...

  8. Spark Tungsten in-heap / off-heap 内存管理机制--待整理

    一:Tungsten中到底什么是Page? 1. 在Spark其实不存在Page这个类的.Page是一种数据结构(类似于Stack,List等),从OS层面上讲,Page代表了一个内存块,在Page里 ...

  9. 环形缓冲区的应用ringbuffer

    在嵌入式开发中离不开设备通信,而在通信中稳定性最高的莫过于环形缓冲区算法, 当读取速度大于写入速度时,在环形缓冲区的支持下不会丢掉任何一个字节(硬件问题除外). 在通信程序中,经常使用环形缓冲区作为数 ...

  10. PHP类(三)-类的封装

    设置私有成员 使用private关键字来设置私有成员,完成对成员的封装,封装后的成员在对象的外部不能被访问,如果访问会出现错误,在对象的内部能访问被封装的成员属性和方法. <?php class ...