WebGoat(5)

2019-08-29 23:44

日志欺骗,利用日志的格式,使用换行等字符,欺骗管理员 Use CR () and LF ( ) for a new line. 比如输入

ddLogin Succeeded for username: jonniexie

XPATH Injection

XPath is almost the same thing as SQL, the same hacking techniques apply too. Smith' or 1=1 or 'a'='a

这个不能用--,所以还是得组一个?闭合,但是Smith' or 'a'='a 这样为啥不可,难道'a'='a'不为true ?

LAB: SQL Injection

Stage 1: String SQL Injection

分析

很多网站密码验证都是 select * from User where username=??and password =??

在这里我们要在password = ??这里进行注入,理论上只要pwd = ' or 1=1 --。那么执行语句就被改成了:

select * from User where username=??and password =?? or 1 = 1 --? 这样就可以登陆任何用户了

方法

我们把' or 1=1 --输入到密码框中,发现竟然不生效,是这样不行么? 抓个包看看

我们后面加的SQL注释符不见了,当然传过去后台SQL执行会出问题的 在哪里被截断了?

原来密码框被限制住了8个字符长度,我们修改Password的maxlength改成足够大,再注入' or 1=1 --

Stage 2: Parameterized Query #1(略) Stage 3: Numeric SQL Injection

分析

这个案例我们需要我们登陆larry后能浏览Boss Neville的profile信息,登陆larry后,可以发现能浏览员工信息的就是ViewProfile按钮,我们抓包分析这个按钮提交的参数

可见这个CGI 接收了员工的ID返回相应的信息,于是乎我试着把ID改成其他值发现返回的仍然是Larry的信息,囧了~

方法

看了Hint后,恍然大悟,这个地方数据库应该是以员工ID作为索引,返回的是每次查询到的第一条数据,用社会工程学解释老板应该是工资最高的,所以为了把老板排到第一个SQL注入排序如下: 101 or 1=1 order by salary desc --

Stage 4: Parameterized Query #2(略)

String SQL Injection

输入' or 1=1 –

Modify Data with SQL Injection

输入

jsmith';update salaries set salary=120000 where userid='jsmith' –

Add Data with SQL Injection

输入

jsmith';insert into salaries values('jonniexie',65535); --

Database Backdoors

输入

1; update employee set salary=2 后面要求注入一个触发器,触发器内容:

UPDATE employee SET email='john@hackme.com'WHERE userid = NEW.userid 就是把所有新注册的用户的email地址改成john@hackme.com 但是mysql不支持

Blind Numeric SQL Injection(略)

Blind String SQL Injection(略)


WebGoat(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:手术室细则

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: