后端技术:Web安全常见漏洞和修复建议,值得收藏!


prtyaa
prtyaa 2023-12-25 12:33:04 50440
分类专栏: 资讯

一、SQL语句注入

1、请求服务器端要对用户输入的数据进行校验。

2、在处理输入之前,验证所有客户端请求的数据,包括请求参数、URL和HTTP头的内容。

3、验证输入数据的类型、长度和数据格式是否正确。

4、使用白名单验证允许的输入字符而不是直接使用黑名单。

5、在敏感字符输入后要进行转义或编码。

6、明确所有输入正确的字符集。

7、避免动态拼接的SQL语句,如果使用要对特殊字符进行语法转义。

8、给用户设置满足正常使用最小权限

二、XPath注入

1、服务器端开始处理用户提交的请求数据之前,对输入的数据进行验证,验证每一个参数的类型、长度和格式。

2、对于系统出现的错误信息,采用IE错误编码信息替换,屏蔽操作系统的出错信息,这样可以向攻击者提供更少的信息进行下一步注入攻击。

3、及时检查是否有特殊字符,如果有特殊字符 ,就转义特殊字符或者替换。比如:单引号、双音,都进行转义或者替换。

4、XPath查询参数化,编译构建XPath表达式,将数据输入以变量形式传递。

5、针对敏感信息如密码之类,建议使用哈希值较长的算法处理。

三、操作系统命令注入

1、客户端、服务器端都要进行命令过滤。2、针对相应的用户给最小的运行权限,最好可以指定到具体的目录、明确使用的命令。

3、程序执行出错时,不要显示与内部实现相关的异常报错细节。

4、针对运行有限的命令、建议使用白名单方式过滤。

5、针对需要用户运行命令的请求,尽可能减小需要从外部输入的数据。比如:如果传参数的地方不要传命令行。

6、有下载文件,给文件分配一个ID号来访问文件,避免使用文件名来访问。

四、JSON数据注入

1、特殊字符前加反斜杠()进行转义

2、使用Javascript编码

3、使用HTML编码

五、XSS

1、在输入过滤,在显示的地方做输出编码。

2、使用一个统一的规则做输出编码

3、富文本编辑器,要使用白名单控制输入。

4、使用HTTPOnly标志

六、CSRF

1、针对重要功能增加确认操作或重新认证,比如涉及支付、转账、修改手机号码等涉及安全隐私的信息需要加验证码的方式进行确认

2、每个会话中使用强随机令牌(token)来保护。

3、检验HTTP Referer是否合法

七、会话攻击

1、采用强算法生成会话ID,会话ID必须具有随机性和不可预测性,长度至少为128位。

2、设定会话过期时间,如:在一定时间内没有与应用交互,设定在登录特定时间内要重新登录系统。

3、设置好Cookie的两个属性:secure和HttpOnly可以用来防御嗅探和阻止JS操作。

八、身份认证

1、用户注册时强制用户输入密码强度较高的密码。

2、用户登录系统,要进行次数限制,防止非法暴力破解用户账户信息,比如登录三次失败后,要阻止当前用户半个小时内不能再次尝试登录。

3、使用HTTPS请求传输身份验证和密码、身份证、手机号码,邮箱等数据。

4、当用户密码重置时,以短信、或者邮件的方式通知用户

5、用户账号上次使用信息在下一次成功登陆时向用户提供登录日志记录。

6、在执行关键操作(如:修改登录密码、支付密码、邮箱、手机号码等)使用人脸识别等方式进行身份验证。

九、Tomcat安全配置

1、Tomcat以没有特权的用户账户和组运行,没有执行交互shell命令权限。

2、Tomcat运行的版本必须打了所有安全补丁的版本。

3、Tomcat默认的例子相关路径和文件必须删除。

4、Tomcat管理员默认密码必须被修改成复杂密码。

5、页面出现信息不能显示Tomcat的版本信息和系统信息。

6、Tomcat配置文件启用安全的http方法,如:GET POST。

7、应用程序和管理程序建议使用不同的端口。

8、项目部署前删除测试代码文件。

9、删除无用的文件如:备份文件、临时文件等。

10、配置文件中不要出现使用默认用户和密码的情况。

11、不要在robot.txt中泄露目录结构。

十、Apache安全配置

1、选择漏洞较少的apache版本。

2、隐藏Apache版本号。

3、删除Apache欢迎页面。

4、配置只允许访问Apache的Web目录

5、应用程序和管理程序使用不同的端口。

6、管理控制台必须使用SSL协议。

7、部署前删除测试代码文件。

8、删除无用的文件如:备份文件、临时文件等。

9、配置文件中没有默认用户和密码。

10、不要在robot.txt中泄露目录结构。

十一、数据库通用配置

1、线上环境不要使用数据库默认用户名和密码。

2、数据库用户的密码要符合一定的复杂度。

3、访问数据库的用户要赋予所需要的最小权限。

十二、绕过认证

1、对登录后可以访问的URL做是否登录检查,如果没有登录过,应该跳转到系统的登录页面。

2、对于敏感信息的请求如登录时、修改密码等请求一定要用HTTPS协议。

十三、文件上传

1、上传的路径要限制在固定路径下。

2、上传文件路径只给只读和写权限,不需要执行权限。

3、服务端文件类型要使用白名单过滤,后台不应有添加扩展名类型功能;通过配置文件调整支持上传的文件类型。

4、文件上传使用自己的命名规则重新命名上传的文件。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30161
赞同 0
评论 0 条
prtyaaL2
粉丝 1 发表 2553 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2969
【软件正版化】软件正版化工作要点  2888
统信UOS试玩黑神话:悟空  2860
信刻光盘安全隔离与信息交换系统  2746
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1280
grub引导程序无法找到指定设备和分区  1249
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  169
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  168
点击报名 | 京东2025校招进校行程预告  165
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  161
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!