AlexZ33 / lessions

自己练习的各种demo和课程
12 stars 2 forks source link

web安全 #30

Open AlexZ33 opened 5 years ago

AlexZ33 commented 5 years ago

典型漏洞修复方案:

OWASP的cheat sheet是个很好的资源:

Authentication Cheat Sheet Choosing and Using Security Questions Cheat Sheet Clickjacking Defense Cheat Sheet C-Based Toolchain Hardening Cheat Sheet Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet Cryptographic Storage Cheat Sheet DOM based XSS Prevention Cheat Sheet Forgot Password Cheat Sheet HTML5 Security Cheat Sheet Input Validation Cheat Sheet JAAS Cheat Sheet Logging Cheat Sheet .NET Security Cheat Sheet Password Storage Cheat Sheet Pinning Cheat Sheet Query Parameterization Cheat Sheet Ruby on Rails Cheatsheet REST Security Cheat Sheet Session Management Cheat Sheet SQL Injection Prevention Cheat Sheet Transport Layer Protection Cheat Sheet Unvalidated Redirects and Forwards Cheat Sheet User Privacy Protection Cheat Sheet Web Service Security Cheat Sheet XSS (Cross Site Scripting) Prevention Cheat Sheet

svn 文件泄露:http://www.ducea.com/2006/08/11/apache-tips-tricks-deny-access-to-some-folders/

AlexZ33 commented 5 years ago

常见web安全漏洞

漏洞名称 漏洞描述 产生原因 漏洞危害 漏洞修复 注意事项 参考资料
SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。 程序执行中未对敏感字符进行过滤,使得攻击者传入恶意字符串与结构化数据查询语句合并,并且执行恶意代码. 恶意执行非法sql语句,造成数据破坏、拒绝服务、数据泄露等危害      
XSS 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 xss漏洞伴随着“输入”与“输出”,攻击者将具有html属性的恶意代码注入到页面中。受害者在浏览此页面时执行恶意代码。 信息窃取、蠕虫等      
CSRF 挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法 Web浏览器已经跟可信的站点建立了一个经认证的会话。之后,只要是通过该Web浏览器这个认证的会话所发送的请求,都被视为可信的动作。攻击者诱使用户浏览器向可信的站点发送一个请求。该可信的站点认为,来自该Web浏览器的请求都是经过认证的有效请求,所以执行这个“可信的动作”。 用户数据破坏。      
json劫持            
SSRF            
url跳转            
命令注入            
文件包含            
逻辑漏洞            
XXE            
敏感信息泄露            
AlexZ33 commented 3 years ago

xss

如果服务端在接口上已经对html进行了转义,并且可以完全信任服务端的接口数据,可以使用dangerouslySetInnerHTML

var test = "&ldquo;test&rdquo;<div>hehe</div>";

<div dangerouslySetInnerHTML={{__html:test}}></div>