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

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

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

String SQL Injection

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

- 在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++
- 作为雇员Larry,使用SQL注入参数来查看boss Neville的个人简介。
- 使用Larry进行登录,选中Larry Stooge,点击ViewProfile按钮查看Larry个人简介。使用Burp拦截GET请求报文,尝试对参数employee_id进行修改。

- 将id由101改为102,返回An error has occurred.。
- 将id由101改为101' or '1' = '1,返回An error has occurred.。
- 将id由101改为101 or 1 = 1,返回Larry的个人简介。
- 将id由101改为101 or '1' = '1',返回Larry的个人简介。
- 将id由101改为101 or 1 = 1 order by phone desc,返回了Sean Livingston的个人信息。由此判断页面显示的是以用户id作为索引返回的数据表中的当前第一条记录。
- 将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
- 尝试使用一条额外的SQL语句查询用户ID为101的薪水,并将薪水调高。

WebGoat系列实验Injection Flaws的更多相关文章
- WebGoat系列实验Authentication Flaws
WebGoat系列实验Authentication Flaws Forgot Password Web应用经常给用户提供取回密码的功能,但是许多应用的实现策略实现的很差,用于验证用户的信息非常简单. ...
- WebGoat系列实验Access Control Flaws
WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...
- WebGoat系列实验AJAX Security
WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...
- WebGoat系列实验Cross-Site Scripting (XSS)
WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...
- WebGoat系列实验Denial of Service & Insecure Communication
WebGoat系列实验Denial of Service & Insecure Communication ZipBomb 服务器仅接收ZIP文件,将上传的文件解压,进行操作之后删除.已知服务 ...
- WebGoat系列实验Buffer Overflows & Code Quality & Concurrency
WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...
- Mininet 系列实验(六)
写在前面 这次实验遇到了非常多问题,非常非常多,花了很多时间去解决,还是有一些小问题没有解决,但是基本上能完成实验.建议先看完全文再开始做实验. 实验内容 先看一下本次实验的拓扑图: 在该环境下,假设 ...
- Mininet 系列实验(四)
实验内容 本次实验拓扑图: 在该环境下,h0 向 h1 发送数据包,由于在 mininet 脚本中设置了连接损耗率,在传输过程中会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0- ...
- Mininet 系列实验(三)
实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用. 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubu ...
随机推荐
- HDU2665Kth number (主席树+离散)
Give you a sequence and ask you the kth big number of a inteval. InputThe first line is the number o ...
- BZOJ3075,LG3082 [USACO13MAR]项链Necklace
题意 Bessie the cow has arranged a string of N rocks, each containing a single letter of the alphabet, ...
- bzoj 3709: [PA2014]Bohater 贪心
题目: 在一款电脑游戏中,你需要打败\(n\)只怪物(从\(1\)到\(n\)编号).为了打败第\(i\)只怪物,你需要消耗\(d_i\)点生命值,但怪物死后会掉落血药,使你恢复\(a_i\)点生命值 ...
- puppeteer
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); ...
- windows10环境下运行Debug
1. 什么是Debug? Debug是DOS.Windows都提供的实模式(8086方式)程序的调试工具. 使用它,可以查看CPU各种寄存器中的内容.内存的情况和在机器码级别跟踪程序的运行. 2. 常 ...
- python if语句,while语句
一,if语句: python中最常用的判断语句,基本格式: 1.if else格式 if 条件: 结果 else: 结果 """ if 条件: 满足条件执行代码 els ...
- java List 等份截取
/** * 描述: 等份截取 * @author eyesmooon * @param list * @param size * @return * @date:2018年11月8日 下午8:00:3 ...
- PHP Warning: Module 'modulename' already loaded in Unknown on line 0 的解决方法
今天无间断服务加载php-fpm时,爆出了一个错误:PHP Warning: Module 'xhprof' already loaded in Unknown on line 0 <br / ...
- GWT更改元素样式属性
GWT有时候不像普通网页那样可以自由的添加CSS改变样式,所幸gwt提供了一些底层的方法,通过这些方法来实现DOM操作等.通过gwt部件的getElement()可以取得dom上的元素,这时就能对该元 ...
- java代码继承基础
总结:继承是java编程的核心,我搞不明白,子类对象调用父类的成员方法时.父类的带参构造方法有什么用,还赋值了 package com.bc; //普通类 public class yt { publ ...