请依据课堂所讲解的关于XSS攻防的技术知识,结合你所学过的Web前端编程技术,自行设计一套XSS攻防流程。要求:
1、攻防技术的实现既要有深度也要有广度。
2、需要设计一个前端页面。
3、提交时请提交实验报告以及Web前端代码。
实验文件.rar
(1)什么是xss?
跨站脚本(cross site script)为了避免与样式css混淆,所以简称为XSS。
XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。那么什么是XSS呢?
XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。
从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
XSS攻击的危害包括:
1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马
7、控制受害者机器向其它网站发起攻击
(2)xss攻击分类:
<1>放射型xss攻击:
又称为非持久性跨站点脚本攻击,它是最常见的类型的XSS。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。
如:
简单例子
正常发送消息:
http://www.test.com/message.php?send=Hello,World!
接收者将会接收信息并显示Hello,Word
非正常发送消息:
http://www.test.com/message.php?send=!
接收者接收消息显示的时候将会弹出警告窗口
我做的实例:
前端代码:(xss_hsb_20190512)
<body>
<%
request.setCharacterEncoding("utf-8");
%>
<form action="indexDeal">
<center>
测试1:<input type="text" name="try01" value=""/>
<input type="submit" value="提交"/>
center>
form>
<%
String responseTry01 = request.getParameter("responseTry01");
if(responseTry01 != null)
{
%>
<center><a><font color="red"><%=responseTry01 %>font>a>center>
<script type="text/javascript" language="javascript">
var a1 = <%=responseTry01%>
document.write(a1);
script>
<%
}
%>
<form action="indexDeal">
<center>
测试2:<input type="text" name="try02" value=""/>
<input type="submit" value="提交"/>
center>
form>
<%
String responseTry02 = request.getParameter("responseTry02");
if(responseTry02 != null)
{
%>
<center><a><font color="red"><%=responseTry02 %>font>a>center>
<script type="text/javascript" language="javascript">
var a2= <%=responseTry02 %>
document.write(a2);
script>
<%
}
%>
<form action="indexDeal">
<center>
测试3:<input type="text" name="try03" value=""/>
<input type="submit" value="提交"/>
center>
form>
<%
String responseTry03 = request.getParameter("responseTry03");
if(responseTry03 != null)
{
%>
<center><a><font color="red"><%=responseTry03 %>font>a>center>
<script type="text/javascript" language="javascript">
var a3 = <%=responseTry03 %>
document.write(a3);
script>
<%
}
%>
<form action="Controller">
<center>
请输入你的留言:<input type="text" name="message" />
账号:<input type="text" name="name"/>
密码:<input type="password" name="password"/>
<input type="submit" value="提交"/>
center>
form>