1、Web 漏洞挖掘与利用,赵文瑞,,Company Logo,主要内容,,Company Logo,Web 漏洞原理分析,常见针对 Web 应用攻击的十大手段,跨站脚本Cross-Site Scripting(XSS),XSS是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。常见XSS 攻击手法按攻击来源分为两类:1.来自内部的攻击,利用WEB程序没有对用户输入作充分的检查和过滤.攻击者通过提交特殊的字符串使得XSS跨站页面直接存在于被攻击站点上。2.来自外部的攻击,主要指的自己构造XSS 跨站漏洞网页或者寻
2、找非目标机以外的有跨站漏洞的网页,欺骗目标服务器的管理员打开。,,Company Logo,SQL注入,SQL Injection就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。注释符攻击 如果恶意用户输入参数uname的值为admin-,Password的值为空,这就使得恶意用户不用提供密码就可以通过验证。转义字符类型的攻击 例如aor1=1此时查询语句变为: SELECT*FROM users WHERE name=aOR1=1;,,Company
3、Logo,SQL注入,Union查询攻击 例如 SELEC Name,Psw,Tel FROM Users WHERE Id=$id然后我们设置id的值为: $id=1UNION ALL SELECT bank CardNumber,1,1 FROM BankCardTable 那么整体的查询就变为: SELECT Name,Psw,Tel FROM Users WHERE Id=1 UNION ALL SELECT bankCardNumber,1,FROM BankCarTable构造参数攻击 当在一个SQL语句中使用一个数字字段时,如果程序员没有检查用户输入的合法性(是否为数字型)就会发
4、生这种攻击。例如: Statement:=SELECT*FROM data WHERE id=+a_variable+;如果终端用户选择一个字符串,就绕过了对转义字符的需要。,,Company Logo,漏洞挖掘技术,XSS漏洞挖掘规则http:/website/index1.php?id=alert(111)http:/website/index1.php?id=http:/website/index1.php?id=”,浏览器会认为本文已经结束,其后的文本将被浏览器当成HTML代码,,Company Logo,SQL注入的漏洞挖掘,SQL漏洞挖掘规则从最经典1=1 和1=2对于字符型的注入
5、检测语句:1=1 和 1=2对于搜索型的注入检测语句:%and 1=1 and %= 和 %and 1=2 and %=,,Company Logo,漏洞利用,XSS攻击利用本地利用漏洞存在于页面中客户端脚本自身反射式漏洞存储式漏洞,,Company Logo,漏洞利用,SQL 注入攻击没有正确过滤转义字符提交不正确的数据类型数据库服务器中的漏洞盲目SQL注入式攻击条件响应条件性差错时间延误,,Company Logo,获取webshell的方法,1.直接上传获取webshell2.添加修改上传类型3.利用后台管理功能写入webshell4.利用后台管理向配置文件写webshell5.利用后台
6、数据库备份及恢复获取webshell6.利用数据库压缩功能7.也可以利用网站访问计数系统记录来获取webshell,,Company Logo,XSS防范措施,防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句Cookie防盗尽量采用POST而非GET提交表单严格检查refer 将单步流程改为多步,在多步流程中引入校验码引入用户交互.,,Company Logo,防御和检查SQL注入的手段,使用参数化的过滤性语句还要避免使用解释程序,因为这正是黑客们借以执行非法命令的手段防范SQL注入,还要避免出现一些详细的错误消息使用专业的漏洞扫描工具企业要在Web应用程序开发过程的所有阶段实施代码的安全检查.,,Company Logo,网站攻击-嵌入一张图片,,Company Logo,嵌入一个flash,,Company Logo,留言文本域存在的漏洞,,Company Logo,文本域中输入alert(xss测试),结果如下:,视频演示,,Company Logo,Click to edit company slogan .,Thank You !,