版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WEB安全ID:HolmesianEmail:Sholmesian@GWebsite:http://H接下来我们将交流……什么是WEB安全?安全事件会带来什么危害?最流行的WEB攻击方式有哪些?如何抵御常见的WEB攻击?怎样设计安全的WEB程序?什么是网站安全什么是webshellwebshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。webshell最大的优点就是可以穿越防火墙,由于与被控制的服务器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。WebShell常见WEB应用存在的漏洞SQL注入漏洞(SQLInjection)跨站脚本漏洞(XSS)远程包含漏洞文件上传漏洞Cookie被盗用及伪造后门和调试漏洞逻辑错误和配置问题旁注攻击监听(未加密的请求)SQLInjection技术概述就攻击技术本质而言,它利用的工具是SQL的语法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQLInjection攻击就发生了。实际上,SQLInjection攻击是存在于常见的多连接的应用程序中的一种漏洞,攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询,篡改和命令执行。就风险而言,SQLInjection攻击也是位居前列,和缓冲区溢出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中,SQLInjection漏洞的风险要高过其他所有的漏洞。安全风险经典的SQLInjection漏洞dimrsadmin1=request("admin")password1=request("password")setrs=server.CreateObject("ADODB.RecordSet")rs.open"select*fromadminwhereadmin='"&admin1&"'andpassword='"&password1&"'",conn,1ifrs.eofandrs.bofthenresponse.write"<SCRIPTlanguage=JavaScript>alert('用户名或密码不正确!');"response.write"javascript:history.go(-1)</SCRIPT>"response.endelsesession("admin")=rs("admin")session("password")=rs("password")session("aleave")=rs("aleave")response.redirect"admin.asp"endifrs.closesetrs=nothingSQLInjection产生原因在用户名和密码都填入'or''='SQL语句被构造成 select*fromadminwhereadmin=‘'OR‘'=‘'
and
password=‘'OR‘'=‘‘SQL语句的实际意思变为admin为空或者空等于空,password为空或者空等于空的时候整个查询语句就为真。SQLInjection利用发现注入点(and1=2、and1=1、'……)判断数据库类型(ACCESS、MYSQL、MSSQL……)利用数据库特性获得权限(MSSQL、Oracle……)构造语句猜解表名、字段名、敏感内容查找后台登陆地址、使用得到的密码成功登陆SQLInjection实例/look.asp?id=66/look.asp?id=66and1=1/look.asp?id=66and1=2/look.asp?id=66andexists(select*fromadminwhere1=1andlen(password)=13andid=(Selectmax(id)Fromadminwhereidin(selecttop1idfromadminOrderbyid)))/look.asp?id=66andexists(select*fromadminwhere1=1andasc(mid(cstr(password),1,1))between30and80andid=(Selectmax(id)Fromadminwhereidin(selecttop1idfromadminOrderbyid)))[62839-23922=38917|3141]PHPSQLInjection判断是否存在注入,加';and1=1;and1=2判断版本andord(mid(version(),1,1))>51/*返回正常说明是4.0以上版本,可以用union查询利用orderby暴字段,在网址后加orderby10/*如果返回正常说明字段大于10再利用union来查询准确字段,如:and1=2unionselect1,2,3,......./*直到返回正常,说明猜到准确字段数。如过滤了空格可以用/**/代替。判断数据库连接帐号有没有写权限,and(selectcount(*)frommysql.user)>0/*如果结果返回错误,那我们只能猜解管理员帐号和密码了。修补SQLInjection漏洞在服务端正式处理之前对提交数据的合法性进行检查;封装客户端提交信息;替换或删除敏感字符/字符串;(/new/)屏蔽出错信息。一个通用防注入的函数DimTc_Post,Tc_Get,Tc_In,Tc_Inf,Tc_Xh '定义需要过滤的字串Tc_In="'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|or|char|declare"Tc_Inf=split(Tc_In,"|")'处理post数据IfRequest.Form<>""ThenForEachTc_PostInRequest.FormForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.Form(Tc_Post)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"'处理get数据IfRequest.QueryString<>""ThenForEachTc_GetInRequest.QueryStringForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.QueryString(Tc_Get)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"跨站脚本攻击Crosssitescripting简称XSS原理:由于WEB应用程序没有对用户的输入和输出进行严格的过滤和转换,就导致在返回页面中可能嵌入恶意代码。数据流程:
恶意用户的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器80%网站存在跨站漏洞,包括许多大型知名网站!
XSS的危害挂马插入恶意的脚本内容,运行病毒、木马。钓鱼篡改网页内容,骗取账号、密码等诈骗行为。劫持会话读取会话COOKIE,传送给第三方劫持身份。XSSWorm使用AJAX技术,做几何趋势的增长传播。XSS实例1XSS实例2跨站蠕虫流程图劫持会话记录会话模拟登录发送xss给好友删除个人信息XSS的防御之道永远不要相信客户端提交的任何数据!!! 1、服务器端永远不使用未验证的客户端数据。GET、POST、Cookies、URL、HTTP
Header、IP… 2、服务器永远不对外展示任何未验证的客户端数据。远程文件包含漏洞远程文件包含实例phpwind较高版本论坛中存在一个严重的漏洞,成功利用该漏洞可以远程执行任意php代码pw_ajax.php中的}elseif($action=='pcdelimg'){ InitGP(array('fieldname','pctype')); InitGP(array('tid','id'),2); if(!$tid||!$id||!$fieldname||!$pctype){ echo'fail'; } $id=(int)$id; if($pctype=='topic'){ $tablename=GetTopcitable($id); }elseif($pctype=='postcate'){ $tablename=GetPcatetable($id); } $path=$db->get_value("SELECT$fieldnameFROM$tablenameWHEREtid=".pwEscape($tid));fieldname未经任何有效的过滤(全局的一些其他的比较搞笑看起来不错的过滤对这里不起任何安全上的意义,只是对漏洞利用带来了一些难度),利用该注射可以获取任何数据库里的数据。Register_Globals很久很久以前,PHP程序员通过“registerglobals”(全局变量注册)机制读取用户提供的数据。在这种情形下,所有提交给一个脚本的参数都以一个与参数同名的变量的形式出现。例如,URL:script.php?foo=bar会创建一个值为bar的变量$foo。<?phpecho$foo;?>输出:bar使用未初始化的变量几乎就意味着安全漏洞!文件上传漏洞仅本地javascript安全控制检测文件格式类型程序通过filepath的值来判断用户上传的文件类型空字节绕过Content-type判断Win2k3文件名解析漏洞:当文件名为x.asp;x.jpg时,IIS会以ASP格式解析,x.php;x.jpg会以PHP解析。早期版本php的uploaded_file函数存在安全问题,遇到二进制0x00就会认为数据结束了
Filename=C:\1.php.jpg->1.php.jpgFilename=C:\1.php0x00.jpg->1.php上传后缀为.jpg的网页文件,IE会当作正常的网页一样解析。空字节绕过上传<?phpif($_FILES['userfile']['type']!="image/gif"){echo"Sorry,weonlyallowuploadingGIFimages";exit;}Content-Disposition:form-data;name="userfile";filename="shell.php"Content-Type:image/gif<?phpsystem($_GET['command']);?>文件上传漏洞防止Cookies问题明文cookie加密串替换
例如:某系统cookie信息如下
user=!#$@@;ugroup=#$%$$登陆test得到的cookies
entname=unsearch;
enid=p]0i7L60T8L6LLl0i7;
企业IDusername=p]0T677L7kTLaMM080l0;hpeid=p]0i7L60T8L6LLl0i7;einfo=C2IsSyY6E3V-LoVa2z43Zp6DYx6Cpxe_1xfdYyfcBmgczyfNOy4_HCU-Y0ic1-fcP0eCl;qta=200
Cookies利用直接访问本应受限的URL
要确保在每个请求中都要包含会话表示,授权检查是每个应用程序的责任,而不仅仅是登陆程序的伪造Cookies,伪装身份在用户名和密码中输入1or1=1的语句来绕过程序的检查利用密码保护来修改密码(社会工程学)验证码问题配置不当导致的问题Google
HackingGoogleHacking是一种利用搜索引擎获取web应用程序弱点和敏感信息的手段。GoogleHacking是一种以合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位管理制度呈现大全【员工管理】十篇
- 《物业管理服务业》课件
- 三年级数学数学广角课件
- 2024年农业综合开发和扶贫开发工作总结
- 2024年公司劳动社保科上半年的工作总结
- 空调机运输协议三篇
- 农业产品销售主管工作总结
- 通信科技前台工作总结
- 家政服务前台工作总结
- 机电装备话务员工作总结
- 2024年小学五年级科学教学工作总结(2篇)
- GB/T 31900-2024机织儿童服装
- 2023年首都机场集团有限公司招聘考试真题
- 2024-2025学年冀教版数学五年级上册期末测试卷(含答案)
- 2025年上半年浙江金华市永康市选调市纪检监察信息中心工作人员2人重点基础提升(共500题)附带答案详解
- 美国制造业经济2024年度报告-2024-12-宏观大势
- 小区充电桩安全协议书范本(2篇)
- 2024年安徽省公务员录用考试《行测》真题及答案解析
- 第二讲 七十五载迎盛世 砥砺前行续华章2024年形势与政策(课件)
- 车间班长年度述职报告
- 2024-2025学年高三年级上册10月月考 生物试题
评论
0/150
提交评论