《[精选]WEB Security-WEB安全入侵与防御讲课.pptx》由会员分享,可在线阅读,更多相关《[精选]WEB Security-WEB安全入侵与防御讲课.pptx(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、WEB平安ID:Holmesian Email:SholmesianGmail.Website:/Holmesian.org接下来我们将交流l 什么是WEB平安?l 平安事件会带来什么危害?l 最流行的WEB攻击方式有哪些?l 如何抵御常见的WEB攻击?l 怎样设计平安的WEB程序?什么是网站平安什么是webshellwebshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站效劳器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站效劳器,包括上传下载文件、查看数据库、执行任意程
2、序命令等。webshell 最大的优点就是可以穿越防火墙,由于与被控制的效劳器或远程主机交换的数据都是通过80端口传递的,因此不会被防火墙拦截。并且使用webshell一般不会在系统日志中留下记录,只会在网站的web日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的。WebShell常见WEB应用存在的漏洞l SQL注入漏洞SQL Injectionl 跨站脚本漏洞 XSSl 远程包含漏洞l 文件上传漏洞l Cookie被盗用及伪造l 后门和调试漏洞l 逻辑错误和配置问题l 旁注攻击l 监听未加密的请求SQL Injection技术概述就攻击技术本质而言,它利用的工具是SQL的语
3、法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQL Injection攻击就发生了。实际上,SQL Injection攻击是存在于常见的多连接的应用程序中的一种漏洞,攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询,篡改和命令执行。就风险而言,SQL Injection攻击也是位居前列,和缓冲区溢出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中,SQL Injection 漏洞的风险要高过其他所有的漏洞。安全风险经典
4、的SQL Injection漏洞dim rsadmin1=requestadminpassword1=requestpasswordset rs=server.CreateObjectADODB.RecordSetrs.open select*from admin where admin=&admin1&and password=&password1&,conn,1if rs.eof and rs.bof thenresponse.writealert用户名或密码不正确!;response.writejavascript:history.go-1response.endelsesessiona
5、dmin=rsadminsessionpassword=rspasswordsessionaleave=rsaleaveresponse.redirect admin.aspend ifrs.closeset rs=nothing SQL Injection产生原因l 在用户名和密码都填入 or=l SQL语句被构造成select*from admin where admin=OR=and password=OR=l SQL语句的实际意思变为admin为空或者空等于空,password为空或者空等于空的时候整个查询语句就为真。SQL Injection利用l发现注入点and 1=2、and 1
6、=1、l判断数据库类型ACCESS、MYSQL、MSSQLl利用数据库特性获得权限MSSQL、Oraclel构造语句猜解表名、字段名、敏感内容l查找后台登陆地址、使用得到的密码成功登陆SQL Injection实例l:/aaa.ecjtu.jx/look.asp?id=66l:/aaa.ecjtu.jx/look.asp?id=66 and 1=1l:/aaa.ecjtu.jx/look.asp?id=66 and 1=2l:/aaa.ecjtu.jx/look.asp?id=66 and existsselect*from admin where 1=1 and lenpassword=13
7、 and id=Select maxid From admin where id in select top 1 id from admin Order by idl:/aaa.ecjtu.jx/look.asp?id=66 and existsselect*from admin where 1=1 and ascmidcstrpassword,1,1 between 30 and 80 and id=Select maxid From admin where id in select top 1 id from admin Order by id 62839-23922=38917|3141
8、 PHP SQL Injectionl 判断是否存在注入,加;and 1=1;and 1=2 l 判断版本 and ordmidversion,1,151/*返回正常说明是4.0以上版本,可以用union查询l 利用order by 暴字段,在网址后加 order by 10/*如果返回正常说明字段大于10l 再利用union来查询准确字段,如:and 1=2 union select 1,2,3,./*直到返回正常,说明猜到准确字段数。如过滤了空格可以用/*/代替。l 判断数据库连接帐号有没有写权限,and select count*from mysql.user0/*如果结果返回错误,那我们只能猜解管理员帐号和密码了。修补SQL Injection漏洞l 在效劳端正式处理之前对提交数据的合法性进行检查;l 封装客户端提交信息;l 替换或删除敏感字符/字符串;:/jc2.ecjtu.jx/new/l 屏蔽出错信息。