今天去尝试了一下,本来要报软开的,结果人太多,就报了安全技术,毕竟自己是学系统安全的,不过题目和自己预想的不太一样,笔试主要考察知识面和网络相关知识。
平时关注的安全较少,主要是再打基础,如系统、编程、算法等等,这次可能就悲剧啦,明显感到知识面不够。
我总结一下(主要凭记忆):
主要内容:
1) 了解CSRF 攻击
2)了解SQL 注入攻击
3) 了解XSS攻击
这三类攻击占据了笔试的60%吧,最后的附加题也是一道SQL注入攻击,另一道是APT攻击http://www.cnbeta.com/articles/155808.htm。
CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,伪造链接间接跳转;如模拟当前用户进行银行转账;
具体实例和分析见https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/。
主要通过http头中Referer、请求字段中添加token、自定义属性并验证三种方式来防御; 总之一句话:证明请求对象的唯一性;(需要和服务器约定,因此银行的U盾还是比较安全的)
XSS : 跨站脚本漏洞(Cross Site Scripting,常简写作XSS)是Web应用程序在将数据输出到网页的时候存在问题,导致攻击者可以将构造的恶意数据显示在页面的漏洞。因为跨站脚本攻击都是向网页内容中写入一段恶意的脚本或者HTML代码,故跨站脚本漏洞也被叫做HTML注入漏洞(HTML Injection)。
具体分析:http://blog.sina.com.cn/s/blog_6721f25c01013bh3.html
防御跨站脚本漏洞的安全编码工作主要是编码输出在页面中会破坏原有代码(HTML、JavaScript甚至WML等)规则的特殊字符以及对某些标签的某些属性进行白名单检查。
主要通过对特殊字符进行检查和转义,避免输出形成攻击代码;
可能造成的攻击:获取cookie,模拟用户登录;钓鱼网站,木马,蠕虫;
可以通过黑盒测试、白盒测试等相关技术来检测;
SQL 注入攻击:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 基本理解就是:输入一个字符串满足SQL命令规范,而服务器没有对输入进行安全检查,从而导致恶意的sql被执行,导致非正常结果;
http://www.oecp.cn/hi/right_way/blog/2273 (SQL 注入介绍)
http://www.venustech.com.cn/NewsInfo/356/4510.Html(SQL 注入攻击)
http://www.enet.com.cn/article/2004/0707/A20040707322886.shtml(SQL 注入猜测用户名)
http://www.h3c.com.cn/products___technology/technology/security_encrypt/other_technology/technology_book/200905/633135_30003_0.htm(SQL注入攻击与防御技术白皮书)
如FUZZ测试:http://broadviewsec.blog.51cto.com/640388/128583
http://www.ibm.com/developerworks/cn/java/j-fuzztest.html
APT攻击
PHP网络安全相关内容
安全技术和软件开发:
自己开始以为安全技术主要是反汇编和病毒分析,是需要很扎实的系统以及汇编等知识,基础扎实了应用工具才会游刃有余,而笔试T的技术分析发现,基本上不考察基础知识,主要涉及内容是安全的知识面,包含你对漏洞的了解、安全工具的熟悉、还有各种平台、语言的认识,而基础题目很少,我记得就有几个选择题,然后包含一个简单的编程题目,别的基本都是关于漏洞的。
我不知道自己对安全的认识是否正确,但不管怎么说,安全技术还是挺有用的,以后要多关注一下。