WEB安全:web代码安全问题总结

Web安全(吴翰清) 安全工程师的核心竞争力不在于他能拥有多少个 0day,掌握多少种安全技术,而是在于他对安全理解的深度,以及由此引申的看待安全问题的角度和高度。 第一章 我的安全世界观 脚本小子 “Script Kids”。 黑客精神所代表的 Open、Free、Share。 Web 1.0 服务器端动态脚本的安全问题。 SQL注入的出现是Web安全史上的一个里程碑。 XSS(跨站脚本攻击)的出现则是W 阅读详情

web代码安全问题总结

一,   数据库安全性

1,    MSSQL数据库安全性

l  web中不允许使用sa级的用户连接数据库

解决方法:

  • 删除sa用户,新建一个权限为sa的用户,用户名和密码一样要复杂。以防暴力破解。
  • 新建一个web连接用户,去掉所有服务器角色,在用户映射中加入此用户要操作的数据库和db_public身份。
  • 如果需要其它操作要另加权限(如只加insert/delete/select/update)。
  • 每个人都没法保证自己写的代码没有漏洞。只要在数据库层做下处理以防入侵。如果有SQL注入db_public身份一样能对数据库添加/修改/删除权限,所以一定不能存在SQL注入漏洞。
  • 如果能防SQL注入和权限限制就很难发生暴库/跨库现像。

2,    Access数据库安全性

解决方法:

  • 防暴库:在数据库连接时加入错误处理代码,如果数据库连接失败就提示错误信息或转向。不能由系统本身提示错误信息,
  • 防下载。

u  第一步:新建一个表。

u  第二步:在表中建一个字段,名称随意,类型是OLE对象,然后用ASP代码向字段中添加一条记录写入单字节的"<%" 代码为:Insert into tablename(fieldname) value (chrB(asc("<")) & chrB(asc("%")))。

u  第三步:将数据库改名为*.ASP

  • 最安全的方法是用使用ODBC数据源连接

 

二,   web代码安全性

1,    备份文件时的小漏洞。

有些ASP编辑器会自动备份asp文件,并且改名为*.bak,这样就存在了会被下载的漏洞,在给asp文件改名时,不要修改为*.txt/.bak/等等,一定要保存扩展名不变(*.asp),在上传到站点时请不要上传备份文件。

2,    防SQL注入。

SQL注入主要是单引号没有过滤,让人利用,重新生成一个具有威胁性的SQL语句。

如:http://www.livexy.com/view.asp?id=100 如果存在SQL注入我们就可以这么写:http://www.livexy.com/view.asp?id=100 ;delete * from tablename;后台运行时为select * from aaa where;delete * from tablename

在这里要提醒大家,不要认为.net的安全性高就没有SQL注入了。错,只要和数据库操作有关的都存在SQL注入漏洞。无论是软件还是网站,都存在。

解决方法:

  • 在页面的开始位置过滤接收到的非法字符,如exec /delete /insert into/update/’ 等等,这里过滤不是指将非法字符过滤为空串,而是过滤为相近的字符。或者如果存在非法字符则转向到错误处理页面。这里说个例子如果将exec过滤为空串时会出来什么后果,如果字串中存在exexecec 请问过滤后是什么,还是exec。这里不多说了,大家都明白了哈。
  • 如果接收参数为数值型时,必需要先判断数据类型,以防出现其它错误。往往黑客信息的来源就是页面出错的信息。
  • 如果参数为字符型时,必需要过滤字符串中的单引号为双引号或其它字符。

这里写个例子:往往我们的代码都是这么写的select * from aaa where bbb=’” + sVal +”’” 表面上看是没有问题的,是正确的,不过此句存在SQL注入。为什么呢,请看:sVal的值是外部提交的数据,如果sVal的值为aaa’;delect * from bbb;-- 写在一起就是:select * from aaa where bbb=’ aaa’;delect * from bbb;--‘其中-- ‘为注释。

  • 使用DbParameter比拼接SQL来的完全的多。

3,    登录漏洞。

解决方法:

  • 过滤非法字符串
  • SQL写法 select password from user where username=’” + sqlstr(sUser) + “’” 其中sqlstr()为过滤非法字符串函数,sUser为用户名文本框中输入的字符。然后在判断数据库中的密码和输入的密码是否一致。
  • 原理:由用户名在数据库中找到此用户的记录,然后在用密码比较。千万不要用“select * from user where username=’” + sqlstr(sUser) + “’ and password=’” + sqlstr(sPass) + “’” 然后在判断是否为空。”这种方法。

4,    防另存为

解决方法:

  • <NOSCRIPT><IFRAME SRC="*.html"></IFRAME></NOSCRIPT>

防止别人下载网站的HTML代码,当然不是很完美,不过也够呛。

5,    防被内嵌

解决方法:

  • <script>if (self != top) { top.location = self.location; }</script>

防止别人内嵌我们的网站,然后做些手角。如键盘记录呀,监视我们输入的数据呀等等。

6,    防本地提交数据

解决方法:

  • 在保存数据时第一步判断来源,如果不是从指定的来源提交数据,出示错误信息。
  • 第二步对提交数据进行非法字符过滤。
  • 第三步保存到数据库,保存时一定要进行错误处理。

7,    防无限刷新

解决方法:

  • 这个比较难做,当然也有很多种方法。
  • 1,在服务器上做手角
  • 2,在代码中加入访问日志信息,通过分析日志信息来判断同一人访问频率。
  • 3,用js操作cookies来记录访问日志信息,判断访问频率。这种方法不会占用服务器的资源。

8,    防无限提交数据/防ajax自动提交数据

解决方法:

  • 加入验证码和提交时间(如一分种发信息)限制功能。

9,    防js代码

解决方法:

  • 要想过滤所有js代码这点很难办法,js攻击漏洞占大多数。Js的写法也千奇白怪。这里发上一些具有攻击性的html代码。这些都是常见到的,并且每一种都不同的写法。单引号和双引号不同/大小写不同/先后循序不同/tab和空格不同/Html标签不同/事件不同/样式不同等等。
  • <P style="BACKGROUND:url(JAVA   SCRIPT:alert('11111'))">test</P>
  • <body>
  • <img src="http://www.challenger.se/images/note_yellow.gif"/>
  • <img src="JAVASCRIPT:alert('888888')" />
  • <STYLE>div{behavior: url("htc.js");};<style>
  • <STYLE>body{oMouseOut: eXpreSsIon(onclick = function(){alert('33333');})} <style>
  • <STYLE>body{background:url(JAVASCRIPT:alert('22222'));} <style>
  • <STYLE>@import "JAVASCRIPT:alert('444444')"; <style>
  • <link href="JAVASCRIPT:alert('777777')" rel="stylesheet" />
  • <script src= hk.js></script>
  • <P style="BACKGROUND:url(JAVASCRIPT:document.write('<script src=hk.js></script>'))">test</P>
  • <iframe src='hk1.html'></iframe>

10,防Cookie假冒

解决方法:

  • 密码信息不要存放在Cookie中
  • 在用到Cookie中的数据时,一定要从数据库中重新读取。然后比较。以防Cookie篡改。
  • Cookie数据需要加密

11,缓冲区溢出

解决方法:

  • 服务器中不要打开无用软件。
  • 在服务端运行的代码中,用到一个对像一定要释放。
  • 在客户端运行的js/vbs/activex/flash代码中,用到的dom对像在结束时一定要释放。

12,其它

  • 防浏览器插件
  • 修改IE的安全选项把“活动脚本”和ActiveX的运行设置为禁用或提示。
  • 或在IE安全设置里将安全级别设为高。隐私选项也设为高。

三,   服务器安全性

  • 关闭无用端口
  • 下载补丁/更新操作系统
  • 安装杀毒软件
  • 安装防火墙
  • 如果服务器上有多个站点,为每一个站点分配权限,每个站点都不能操作其它文件和目录,也不能影响到其它站点。
Web安全.pdf 白帽子讲Web安全,吴翰清 著,我的安全世界观;客户端脚本安全;服务器端应用安全;互联网公司安全运营。 立即下载

相关推荐

WEB安全技术

http协议、常见漏洞攻击及防护,包括SQL注入、XSS跨站脚本攻击、文件上传漏洞、渗透工具的使用

web安全问题汇总

web代码安全问题总结 一, 数据库安全性 1, MSSQL数据库安全性 l web中不允许使用sa级的用户连接数据库 解决方法: 删除sa用户,新建一个权限为sa的用户,用户名和密码一样要复杂。以防暴力破解。 新建一个web连接用户,去掉所有服务器角色,在用户映射中加入此用户要操作的数据库和db_public身份。 如果需要其它操作要另加权限(如只加insert/d...

weixin_30436101的博客 327

web安全技术

在這樣的網站設計與架設的概念下,如果該網站之 網頁存取權限或實體的資料夾檔案權限控管不當, 攻擊者只要猜測或使用工具取得該網站內資料夾或 檔案文件名稱,便可從Internet下載存放於該網站 (資料夾)內本屬不應公開的文件或資料庫。

(2023版)零基础入门Web安全,收藏这一篇就够了

Web安全是指保护Web应用程序、Web服务器和Web浏览器免受各种网络攻击和恶意行为的方法和技术。随着越来越多的业务和活动转移到互联网上,Web安全成为越来越重要的问题。

m0_74914256的博客 3597

scannet数据集下载文件

scannet数据集下载文件 由于大家会申请scannet数据集,审批比较慢,我将下载的文件里面的内容贴出来,大家可以复制放进py文件中,运行就可以下载 ps:别再私信要数据集了,这个自己下载,如果光三维数据的话,还是很快的,当然如果路由器翻了墙的话,下载会更快。 #!/usr/bin/env python # Downloads ScanNet public data release # Run with ./download-scannet.py (or python download-scannet.

weixin_40766438的博客 9228

SAP SM30数据维护实战:条件筛选与动态校验的实现技巧

本文详细介绍了SAP SM30数据维护的实战技巧,重点讲解如何通过条件筛选实现精准数据查取,以及利用表维护生成器事件实现动态数据检查与校验。文章提供了从基础视图创建到高级事件编程的完整流程,包括调用函数VIEW_MAINTENANCE_CALL传递筛选条件,以及在NEW_DATA和CHANGE_SAVE事件中编写业务规则校验逻辑,帮助开发者提升SM30的管控能力与数据质量。

q9w8e7r6t5的博客 520

web安全基础

HTTP原理 1、HTTP协议解析 Hyper Text Transfer Protocol(超文本传输协议)是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC RFC 1945 HTTP/1.0 RFC 2616 HTTP 1.1 HTTP工作流程 首先客户机与服务器需要建立连接。单击某个超级链接,经过TCP三次握手后,HTTP的工作开始。

lixbao的博客 4282

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

   分析大脑解剖学差异最常用方法之一是基于体素的形态学方法(voxel-based morphometry, VBM)。 VBM的基本思想是测量大脑组织,尤其是灰质的局部浓度的差异。在大脑的每个体素处进行操作,然后在两个或多个实验组之间进行统计比较,从而在受调查的组之间建立特定大脑区域中脑组织浓度的统计学显着差异。 VBM分析基于(高分辨率)MRI脑部扫描,涉及大量处理步骤,主要是空间归一化,分割,平滑和统计分析,最终结果是统计图,显示了各组之间组织类型明显不同的区域[^1]。 参考 [^1] ..

意疏的学习笔记 3万+

常见 Web 安全攻防总结

Web 安全地对于 Web 从业人员来说是一个非常重要的课题,所以在这里总结一下 Web 相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助。今天这边文章主要的内容就是分析几种常见的攻击的类型以及防御的方法。也许你对所有的安全问题都有一定的认识,但最主要的还是在编码设计的过程中时刻绷紧安全那根弦,需要反复推敲每个实现细节,安全无小事。本文代码 Demo 都是基于 Node.js 讲解,其他服务端语言同样可以参考。

2301_76694151的博客 1508

海天注塑机弘讯控制器Modbus数据采集实战指南

工业设备数据采集是MES系统、设备监控和工艺追溯的基础,其中注塑机联网是车间数字化的关键环节。Modbus协议作为工业通信的事实标准,以简单、开放、低成本的优势,成为海天注塑机弘讯控制器对外提供数据的主要方式。理解控制器型号与通信参数、捋清寄存器点位表与字节序规则,是稳定采集的前提。通过RS485串口或以太网轮询,可以实时获取产量、温度、压力、报警等关键数据,进而支撑OEE统计、质量追溯与异常监控。本文基于实战项目,以海天注塑机弘讯控制器为例,梳理从接线、参数配置到点位验证的完整流程,为现场工程师提供一套可

weixin_28733777的博客 903

最新版 Akamai 逆向 风控破解

经过测试,捷星 jetstar.com,德州仪器 ti.com,w6 wizzair.com,还有一些航空公司的都是可以实现一个并发的有需要的可以。

m0_72605044的博客 6614

Web安全

CSRF 英文全称是 Cross-site request forgery,又称为“跨站请求伪造”。顾名思义,CSRF 攻击就是黑客引诱用户打开黑客的网站,利用用户的登陆状态发起跨站请求。降维解释:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证, 达到冒充用户对被攻击的网站执行某项操作的目的。反弹技术就是利用反弹服务器实现攻击的技术。

weixin_72525373的博客 1049

基于ADPSS的直驱风电单机模型建模指南:跟网型与构网型

本文介绍了基于ADPSS平台的直驱风电单机建模方法,包含跟网型和构网型两种控制策略。模型采用模块化设计,共享风力机与桨距角控制部分,通过FORTRAN语言实现自定义建模。跟网型采用锁相环同步和矢量控制,构网型则采用虚拟同步机技术模拟同步发电机特性。详细阐述了风力机气动模型、桨距角控制算法及代码实现,为新能源并网仿真提供了实用参考。全文约150字,涵盖模型架构、数学方程和ADPSS实现要点。

huanghm88的专栏 168

Web安全知识体系总结

一、了解web安全 我们平时开发一般注重功能技术,而忽略了安全架构,对于怎么开发出一个安全的web项目,我认为有必要做一个学习与总结。 对于web安全,主要分为两大特性: ①私密性:数据不会被非法获取和利用,一般经过授权才可以访问。    ②可靠性:数据不会丢失、损坏、篡改。   对于安全问题,一般关注三个层面:①代码层面    ②架构层面   ③运维层面   二、常见的安全问题:...

zp的博客 1万+

使用Simulink对基于GaN器件的高频电源进行建模与仿真,重点在于优化其效率

本文介绍了基于Simulink的GaN器件高频电源仿真建模方法。通过7个步骤详细讲解系统构建过程:从创建模型、设置电源、配置GaN开关网络,到添加磁性元件、负载和控制器设计,最后进行仿真分析。重点探讨了效率优化策略,包括开关频率选择、磁性元件优化、散热设计改进及控制策略调整。该教程为GaN器件在电力电子系统中的应用提供了完整的仿真流程指导,有助于设计人员验证方案并优化性能。

amy_mhd的博客 232

yolov8涨点系列之轻量化主干网络替换

yolov8涨点系列之轻量化主干网络替换,以EfficientVit为例

zhang1379的博客 2887

web安全测试方法有哪些?

渗透测试也是常用的安全测试方法。是使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。 这种测试的特点就是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率很低。 静态的代码安全测试 主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。 静态的源代码安全测试是非常有用的方法,它可以在编码阶段找出所有

ysxjy2020的博客 1755

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

开发中的安全问题

安全场景核心防护手段代码关键操作XSS输入过滤、输出编码、CSPJsoup过滤、Vue自动转义、CSP头SQL注入参数化查询、ORM框架、输入验证CSRFToken验证、SameSite CookieSpring Security CSRF、SameSite配置HTTPS配置申请证书、服务器加密配置Nginx SSL配置、HTTP跳转HTTPS敏感数据加密密码哈希+盐、AES对称加密BCrypt加密、AES加解密。

TOUCH的博客 1014

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

web安全

Shell注入 我们先来看一段perl的代码: 1 2 3 4 5 6 7 8 9 10 11 use CGI qw(:standard); $name = param('name'); $nslookup = "/path/to/nslookup"; print header; if (open($fh, "$

544

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PHP常见安全问题及解决方法

1、SQL注入 问题说明: SQL注入是对您网站最大的威胁之一,如果您的数据库受到别人的 SQL 注入的攻击的话,别人可以转出你的数据库,也许还会产生更严重的后果。 解决方法: 主流的解决方法有两种。转义用户输入的数据或者使用封装好的语句。转义的方法是封装好一个函数,用来对用户提交的数据进行过滤dnf私服,去掉有害的标签。但是,我不太推荐使用这个方法,因为比较容易忘记在每个地方都做此处理。 示例代...

qq_18847065的博客 280

威胁web应用安全的错误

一般绝大部分的web应用攻击都是特定目标的大范围漏洞扫描,只有少数攻击确实是为入侵特定目标而进行的针对性尝试。这两种攻击都非常频繁,难以准确检测出来,许多网站的web应用防火墙都无法保证能够有效运行。有一些被忽略的安全错误可能会威胁到web应用的安全。 存在的SQL注入漏洞 SQL注入依然活跃着,安全监控公司的研究显示,SQL注入攻击长期以来一直都是最普遍的web攻击方式,占该公司客户报告事件...

JPshangdexiaofeixia的博客 276

【概念】WEB应用自动化安全测试

参考文章: 安全牛:https://www.aqniu.com/learn/46910.html ISC2020互联网安全峰会议题:利用IAST推动应用安全测试自动化(IAST是DevSecOps实现自动化安全测试的最佳工具之一 ) 一:Web应用安全测试技术 为了发现软件的漏洞和缺陷,确保Web应用程序在交付之前和交付之后都是安全的,就需要利用Web应用安全测试技术识别Web应用程序中架构的薄弱点和漏洞,并且必须赶在网络黑客找到和利用它们之前。 Web应用安全测试技术经过多年的发展,目前业界常用

Websec 2527

web 安全问题

web 前端安全问题 跨站脚本攻击(XSS攻击) 原理:跨站脚本攻击:指的是恶意攻击者往Web页面里插入恶意 html 代码,当用户浏览该页之时,嵌入其中Web里面的 html 代码会被执行,从而达到恶意用户的特殊目的。 危害:盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;非法转账;控制受害者机器向其它网站发起攻击等。 防范:XSS 攻击其核心都是利用了脚本注入,因此我们解决办法其实很简单,不信赖用户输入,对特殊字符

Luzhangfeng的博客 233

常见Web安全问题及防御策略,想转行当程序员的必看

1)要在各个不同层面,不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;2)要在正确的地方做正确的事情,即:在解决根本问题的地方实施针对性的安全方案。这一原则适用于各种由于“注入”而引发安全问题的场景。实际上,缓冲区溢出,也可以认为是程序违背了这一原则的后果——程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,从而导致安全问题的发生。微软使用的ASLR技术,在较新版本的Linux内核中也支持。

weixin_51725318的博客 277

web安全-----ZAP扫描漏洞问题以及解决

此版块持续更新中。。。。 目前发现的问题大部分都是后端C代码的问题,以及少部分前端代码的问题。

博客之家 1918
上一篇: H5开发:详说 Cookie, LocalStorage 与 SessionStorage
下一篇: zepto:源码分析
Generon
博客等级 码龄11年 135粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值