WEB攻击中常见的有:XSS攻击、CSRF攻击、SQL注入、文件上传漏洞。
一、XSS攻击
1、定义及危害:
XSS是互联网中使用最广泛的攻击手段之一。
XSS定义:XSS是跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
XSS攻击由于被黑客用来编写危害性更大的网络钓鱼攻击而变得广为人知。
危害:
- 盗取各类用户账号,如用户网银账号,各类管理员账号;
- 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;
- 非法转账;
- 控制受害者机器向其它网站发起攻击。
2、攻击方式:
存储型攻击:XSS代码被插入到类似个人信息或发表的文章等存储在服务器上的信息中,即XSS代码被持久化。
反射型攻击:非持久化,代码隐藏在链接中,欺骗用户自己去点击链接时触发XSS代码,一般出现在搜索页面。
3、代码实例:
反射型攻击时url一般会转码,可以用decodeURIComponent(url)进行解码:
4、XSS攻击时常用的技巧:
5、防范:
- 过滤:对提交内容中的非法内容和属性,例如
- 转义:通过使用htmlspecialchars等函数,将提交内容中的字符"<"(小于)和">"(大于)转换为HTML实体。
二、CSRF攻击:
1、攻击方式:
- get型攻击:通过模拟get型请求向目标网站发起攻击;
- post型攻击:通过模拟post请求,发起表单提交,从而达到攻击目的。
前提:攻击目标系统用户必须登录,这时才能拿到目标系统的cookie信息。
2、攻击实例:
在一个攻击提供的在线网页中加入一张图片,图片的src为目标攻击系统的带有某种特殊目的url(比如删除目标系统某些信息),这样在目标系统人员一登录目标系统,然后点击攻击者提供的在线地址时就能达到攻击的目的。
3、防范:
- referer防范:通过判断请求头中的referer头确定请求的来源,从而避免CSRF攻击。
- token防范:通过在表单请求中添加token,标识表单的合法性,来避免CSRF攻击。
三、SQL注入:
定义:通过把SQL命令插入到web表单提交或者输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
实例:
select * from user where name="zhangsan" select * from user where name="zhangsan" or 1=1 --''
方式:
- 登录注入:通过登录界面进行SQL注入;
- 文章管理注入:通过文章管理界面注入。
危害:
- 泄露企业数据;
- 恶意修改企业数据;
- 网站挂马。
四、文件上传漏洞:
定义:用户通过利用windows文件命名规则,上传了可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。
漏洞原因分析:
- windows文件命名规则:以下字符不能表示文件名<>/\|:"*'?
- 服务端操作文件函数:在移动文件时当遇到非法字符,将忽略非法字符以及之后的字符,例如会将abc:d.jpg变成abc。
防范措施:
- 权限防御:文件上传的目录设置为不可执行;
- 文件名防御:使用随机数改写文件名和文件路径。
原文链接:https://blog.csdn.net/duansamve/article/details/118274348
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18367