相信很多站长都有网站被攻击过的经历,网站越优质越容易被盯上。如果被攻入恰恰说明网站存在安全漏洞, 这时要及时处理并做好程序、服务器的安全防范,今天我们讲下什么是XSS攻击、SQL 注入、WebShell 扫描?这些攻击要如何预防?
一、什么是XSS攻击
XSS(Cross-Site Scripting)又称跨站脚本攻击。通常指的是通过利用网页开发时留下的漏洞,通过技术方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、 会话和cookie等各种内容。其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖 XSS 蠕虫,甚至破坏网站、修改路由器配置信息等。
二、XSS攻击的预防
1、过滤所有的HTTP Request参数。
2、用户输入长度限制。
3、使用 HttpOnly Cookie,禁止js读取某些Cookie。
4、避免拼接html。
5、避免内联事件,如<button onclick=”load(‘{{ data }}’)”>点</button>。
6、
防止下发界面现实html标签, 把</>等符号转义。
三、什么是SQL注入
SQL注入(SQLi)是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而控制Web应用程序后面的数据库服务器,其主要原因是程序没有仔细过滤用户输入的数据,致使非法数据侵入系统。
攻击者可以使用SQL注入漏洞绕过应用程序的安全措施,绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容。还可以利用SQL注入访问未经授权的用户敏感数据,同时添加、修改和删除数据库中的记录,这是非常危险的Web应用程序漏洞之一。
四、SQL注入的预防
1、检查变量数据类型和格式。
2、过滤特殊符号或转义处理。
3、绑定变量,使用预编译语句。
4、访问数据库进行多层验证。
5、使用安全参数来杜绝注入式攻击。
6、对用户进行分级管理,严格控制用户的权限。
五、什么是WebShell扫描
WebShell是一种可以在web服务器上执行后台脚本或者命令的后门,这些后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。黑客通过入侵网站上传WebShell后获得服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。
WebShell可以穿越服务器防火墙,由于与被控制的服务器或远程过 80 端口传递的,因此不会被防火墙拦截。并且使用 WebShell 一般不会在系统日志中留下记录,只会在网站的 web 日志中留下一些数据提交记录,没有经验的管理员很难看出入侵痕迹。
六、WebShell扫描的预防
1、购买 waf,如云盾等产品,waf 可以制止 WebShell 的上传,但要注意是否会误伤阻止正常IP。
2、修改 php.ini,在 disabled_fuctions 选项中计入 eval, system 等危险函数的名称,这样此类函数即使存在于代码中 php 也会禁止其执行。
3、网站程序目录下可写目录不给执行权限,有执行权限的目录不给写权限。
4、使用 chroot 将 web 目录转换为根目录,这样即使成功执行 webshell,也无法访问 web 目录之外的资源。
5、将整个服务 docker 化,从而实现服务与物理机之间的隔离。
上述这几种恶意请求可以说是比较常见的,理论上只要你的网站上线可以被访问到,这些恶意请求也就来了,因为都是用工具自动实现扫描、破解。推荐阅读“服务器被大流量攻击怎么办”这篇文章,建议定时备份程序文件及数据库,服务器/网站管理员的密码设置8位以上字母+大小写+特殊字符的组合密码。
SEO运营课程
最后,如果你想了解一下SEO行业的推广逻辑和推广方法,或者是有计划想通过SEO来进行创业或者进行就业、变现赚钱的你,不妨看看这个专属的SEO配套课程: