20155325 Exp9 Web安全基础

本实践的目标理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。

实验后回答问题

(1)SQL注入攻击原理,如何防御

原理:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

防御:有一些软件,比如安全狗。对输入进行过滤,对数据库增加保护。

参考链接:
SQL注入攻击原理以及基本方法

(2)XSS攻击的原理,如何防御

详见 实践过程记录-》something different
(3)CSRF攻击原理,如何防御

原理

防御

通过 referer、token 或者 验证码 来检测用户提交。

尽量不要在页面的链接中暴露用户隐私信息。

对于用户修改删除等操作最好都使用post 操作 。

避免全站通用的cookie,严格设置cookie的域。

参考链接:
CSRF攻击原理及防御

实验总结与体会

这学期的实验令我收获颇多,知道了,哦,原来这样攻击就可以达到什么样的效果。也深深地体会到了“没有绝对的安全”,是该庆幸一下在我还没有那么值钱的时候认识到了这一点哈哈哈。

感谢老师设置了分批实验的实验方式,让我能够完成实验,并有所得,不至于把很多精力浪费在“好难好崩溃好怀疑人生”的情绪上面。

感谢各位大佬写得非常详细的博客,救我汪命,哈哈哈。

实践过程记录

XSS

1.Phishing with XSS 跨站脚本钓鱼攻击

2.Reflected XSS Attacks 反射型XSS攻击

3.Reflected XSS Attacks 反射型XSS攻击

CSRF

4.CSRF Prompt By-Pass

5.Cross Site Request Forgery(CSRF)

6.CSRF Token By-Pass

SQL

7.Blind String SQL Injection

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

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

10.Database Backdoors

11.Command Injection

something different

XSS

1.Phishing with XSS 跨站脚本钓鱼攻击

2.Reflected XSS Attacks 反射型XSS攻击

3.Reflected XSS Attacks 反射型XSS攻击

CSRF

4.CSRF Prompt By-Pass

5.Cross Site Request Forgery(CSRF)

6.CSRF Token By-Pass


SQL

7.Blind String SQL Injection

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

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

10.Database Backdoors

11.Command Injection

something different

原理
当存在“提取用户提交的输入并将其插入到服务器响应的HTML代码中”这样的功能时,就有可能有XSS漏洞。
XSS漏洞分为以下三种:反射型XSS漏洞、存储型XSS漏洞、基于DOM的XSS漏洞。

反射型

存储型

基于DOM

图片来自文档:《Web安全渗透测试研究_蒲石》

举例
1.钓鱼攻击:显示类似的登录界面,欺骗用户输入登录信息

2.根据同源策略,浏览器不允许一个网站传送的脚本访问另一个站点的Cookie,否则,会话就很容易被劫持。而且,只有发布 Cookie 的站点能够访问这些 Cookie,仅能在返回发布站点的 HTTP 请求中提交 Cookie;只有通过该站点返回的页面所包含或加载的 Java Script 才能访问 Cookie。
所以另一种攻击方式为:发帖诱导查看,帖界面包含获取cookie的js代码跳转。获取新cookie文件,将内容项替换新cookie,获取新cookie权限。

3.余弦新提出的一种利用方法为:通过浏览器保存密码和表单自动填充这两种机制来获取密码。让浏览器误以为是原来的登录界面,从而将密码和表单自动填入。

代码
源码下载:https://github.com/ezyang/htmlpurifier
http://htmlpurifier.org/
工具使用:
https://blog.csdn.net/hanzengyi/article/details/43019479
https://www.jianshu.com/p/bf8a816fde47
有关XSS的代码:
https://www.cnblogs.com/coco1s/p/5777260.html

防范
1.养成良好的上网习惯:不随意打开链接
2.开发者采取相应的防御措施:完善过滤策略、使用安全编码、谨慎使用DOM操作、静态分析、动态分析(详见《XSS漏洞综述》)

参考链接

http://www.cnblogs.com/20155305ql/p/9029172.html

http://www.cnblogs.com/lovezh/p/9064309.html#_label2_3

posted @ 2018-05-28 10:34  难能可贵成功犯傻  阅读(312)  评论(1编辑  收藏  举报