本实践的目标理解经常使用网络攻击技术的基本原理。Webgoat实践下相关实验。html
(1)SQL注入攻击原理,如何防护git
原理:SQL注入便是指web应用程序对用户输入数据的合法性没有判断,攻击者能够在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非受权的任意查询,从而进一步获得相应的数据信息。github
防护:有一些软件,好比安全狗。对输入进行过滤,对数据库增长保护。web
参考连接:
SQL注入攻击原理以及基本方法sql
(2)XSS攻击的原理,如何防护数据库
详见 实践过程记录-》something different
(3)CSRF攻击原理,如何防护浏览器
原理安全
防护服务器
经过 referer、token 或者 验证码 来检测用户提交。cookie
尽可能不要在页面的连接中暴露用户隐私信息。
对于用户修改删除等操做最好都使用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
原理
当存在“提取用户提交的输入并将其插入到服务器响应的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的代码:
http://www.javashuo.com/article/p-tadteosw-et.html
防范
1.养成良好的上网习惯:不随意打开连接
2.开发者采起相应的防护措施:完善过滤策略、使用安全编码、谨慎使用DOM操做、静态分析、动态分析(详见《XSS漏洞综述》)