《Web安全深度剖析》读书总结

攻击者入侵依靠端口。溢出漏洞难挖掘,新战场已转移到Web之上。
PHP的能力仅限于Web,速度较慢,也不支持多线程。作为一名Web安全研究者,几乎所有的人都会学习它。
脱离了浏览器来获取服务器响应和HTML数据,可以发现,就某些方面而言,浏览器再HTTP协议方面只不过多了HTML渲染的功能,让用户看到更直观的界面。
1xx:信息提示,表示请求已被成功接收,继续处理。其范围为100~101.
2xx: 成功,服务器成功的处理了请求,其范围为200~206。
3xx: 重定向
4xx: 客户端错误状态码,比如格式错误的请求或者最常见的是,请求一个不存在的URL。
5xx: 服务器自身出错。
404:请求资源不存在
400:客户端请求有语法错误,不能被服务器所理解。
401:请求未经授权。
403:服务器收到请求,但是拒绝提供服务。
500:服务器内部错误,是最常见的状态。
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
HTTP采用80端口连接,而HTTPS则是443端口。
前端Javascript验证是为了防止用户输入错误,服务器端验证是为了防止恶意攻击。
Fidder是一款优秀的Web调试工具,它可以记录所有的浏览器与服务器之间的通信信息(HTTP和HTTPS),并且允许你设置断点,修改输入/输出数据。
常见的SQL注入类型包括:数字型和字符型。不管诸如类型如何,攻击者的目的只有一点,那就是绕过程序限制,使用户输入的数据代入数据库执行,利用数据库的特殊性获取更多的信息或者更大的权限。
攻击者在利用上传漏洞时,通常会与Web容器的解析漏洞配合在一起。

程序员在防止上传漏洞时可以分为两种:
    客户端检测:客户端使用Javascript检测,在文件未上传时,就对文件进行验证;
    服务器端检测:服务端脚本一般会检测文件的MIME类型,检测文件扩展名是否合法,甚至有些程序员检测文件中是否嵌入恶意代码。

仅仅依靠黑名单过滤的方式是无法防御上传漏洞的,因为未知的风险太多,我们无法预测。
IIS 6.0会被pentest.asp;1.jpg当作ASP脚本程序来执行,最终攻击者可以绕过白名单的检测,并且执行木马程序。
上传漏洞是完全可以避免的,需要做的仅仅是对路径进行验证,对文件进行随机重命名。

XSS主要被分为三类,分别是反射型、存储型和DOM型。
存储型XSS与反射型XSS、DOM型XSS相比,具有更高的隐蔽性,伤害性也更大。
XSS常见危害:盗取用户Cookie,修改网页内容,网站挂马,利用网站重定向,XSS蠕虫。
Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘、内存,或是从客户端的硬盘、内存读取数据的一种技术。
内存Cookie和硬盘Cookie,类似的也分持久Cookie和非持久Cookie。Cookie的大小最多只能在4KB左右。
expires为GMT格林尼治时间,如果缺省,则Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存中,Cookie将随浏览器的关闭而自动消失。
借助domain和path两个变量的设置,即可有效地控制Cookie文件被访问的范围。
sessionid是唯一的且不会重复的"编号",如果服务器关闭或者浏览器关闭,session将自动注销,当用户再次连接时,将会重新分配。
session与Cookie最大的区别在于,Cookie是将数据存储在客户端,而SESSION则是保存在服务器端,仅仅是在客户端存储一个ID。相对来说,SESSION比Cookie要安全。
XSS跨站漏洞最终形成的原因是对输入与输出没有严格过滤,在页面执行JavaScript等客户端脚本,这就意味着只要将敏感字符过滤,即可修复XSS跨站漏洞。
&实体&amp;"实体&quot;'实体&#039;<实体&lt;>实体&gt;
带有HttpOnly的Cooke,JavaScript将不能获取。
CSRRF是跨站请求伪造(Cross-Site Request Forgery),通常缩写为CSRF或是XSRF。重点:CSRF的攻击建立在浏览器与Web服务器的会话中;欺骗用户访问URL。使用POST方式接收数据一样阻挡不了CSRF攻击,只不过是增加了构造URL的难度而已。
 

猜你喜欢

转载自blog.csdn.net/taozi550185271/article/details/106307926
今日推荐