[李景山php] web 安全资料篇

Web安全与业务
1939年9月1日凌晨,第二次世界大战爆发。德军14个师兵分三路,从北,南,西同时入侵波兰,波军6个集团军80万人组成的防线瞬间瓦解。由于兵力分散和移动迟缓,波军很快被各个击破,到9月21日“布楚拉战役”,主流已全军覆没。这次战争的时间之短,出乎所有人意料,它将一种新的战争模式呈现在人们眼前“闪电战”。
随着新技术、新思维的出现,看不见硝烟的随时出现。
2012年7月,一部由美国制作的电影预告片被传到互联网上,由于包含对伊斯兰教的侮辱,引起了穆斯林的强烈抗议。9月,一个自称“伊兹丁.哈桑网络战士”的黑客组织,在网上声称对美国金融业展开报复性战争。短短几周之中,美国银行,花旗集团,富国银行,美国合众银行、PNC金融服务集团等金融巨头的网上服务因遭受攻击而中断。分布式拒绝服务攻击。
安全与自身发展
有人说互联网是由人组成的,也有人说互联网是由代码组成的。如果说互联网是由代码组成的,那么Web代码占据着互联网至少半壁江山;如果说互联网是由人组成的,那么有人的地方就有江湖,江湖中总是有剑客高手,互联网中也总是有技术黑客高手。
腾讯Q+和 web QQ上拥有近10万个web应用。
google的chrome 网上应用商店提供了7万多个应用,拥有数亿人次的应用用户。
4399.com拥有数万个在线网页游戏。
安卓和苹果上当前17%的应用都是h5开发的,而且比例持续上升。

Web安全-大事记
天涯被黑事件 SQL 入侵
2012年,泄漏数据的网站包括CSDN,天涯,多玩,其中天涯的因为2009年使用的是明文密码,因此泄漏的用户密码是明文的,多玩网(YY语音)的数据是内部员工窃取的,网站未被入侵。

百度被劫持事件 DNS劫持
2010年1月12日上午7点钟开始,中国最大中文搜索引擎“百度”遭到黑客攻击,长时间无法正常访问。主要表现为跳转到一雅虎出错页面、伊朗网军图片,出现“天外符号”等,范围涉及四川、福建、江苏、吉林、浙江、北京、广东等国内绝大部分省市。

淘宝撞库
该团伙于2015年10月14日至16日通过租用的阿里云平台向淘宝发起攻击,获取淘宝账户信息约9900万,其中2059万账户为确实存在并且密码吻合。该团伙通过黑客手段获取的账号主要用于淘宝刷单、抢单、并出售给诈骗团伙,严重扰乱了网络秩序,危害了公民的隐私、财产等安全。专案组根据该线索,顺藤摸瓜抓获姚某、黄某等犯罪嫌疑人4名,经进一步审查发现,该团伙通过自编58个黑客盗号软件,获取用户名+密码32亿组,涉及浙江、江苏、上海、山东、四川、福建、安徽等全国20余个省份用户,涉案金额高达200余万元。

灰色产业链
传奇私服,帐号买卖,商品秒杀,抢月饼等等。
攻击与防御
XSS攻击
XSS[CSS] Cross Site Scripting, 跨站脚本。
跨:主要是因为远程或者是第三方域上的脚本资源。
例子:
eval(location.hash.substr(1));
http://www.crm.net/test_xss.html#alert(‘no’)
类型:
反射型,存储型,DOM XSS
反射型: echo $_GET[‘x’];
存储型:存入到对应的数据库,文件等位置。
DOM XSS: 刚刚演示的那个
经典的漏洞:
2009年出现一次大调整,大量融入HTML元素。
昵称修改为: <iframe x=’发送一条这样的消息给被攻击者:’src=’http:\\%62aidu.com’y=

危害:
挂马,
盗取用户cookies
Dos(拒绝服务)客户端浏览器
钓鱼攻击,高级钓鱼技巧
编写针对性的XSS病毒,删除目标文章,恶意篡改数据,嫁祸,“借刀杀人”
实际案例:
百度登录DIV弹出层窗口存在XSS持久性漏洞。
2005年11月4号 MySpace XSS 蠕虫的模式,凌晨0:34开始,短短5小时后,感染了一百多万用户,并在每个用户的个人签名当中添加了一段文件“but most of all,samy is my hero”,XSS蠕虫鼻祖。

SQL注入
普通注入:
普通注入是指最容易利用的SQL注入漏洞,比如直接通过注入union查询就可以查询数据库。
防御:过滤相应的关键词,强制数据类型,就可以过滤了。

编码注入:
最常见的编码注入是MySQL宽字节以及 urldecode 及 rawurldecode 函数导致的。

编码注入–宽字节注入:
当使用PHP连接mysql 的时候,当设置 “set character_set_client = gbk”时会导致一个编码转换注入的问题,注入参数里带入 %df%27 即可把程序中过滤的 \ (%5c) 吃掉。

%27 代表是 ’ 单引号。

假设/1.php?id=1 存在宽字节注入漏洞,
当提交 /1.php?id=-1’ and 1=1 %23 时,Mysql 运行的sql语句为: select * from user where id = 1 \’ and 1=1#’ 很显然,没有注入成功,因为我提交的单引号被转义导致没有闭合前面的单引号。
但是当我们提交 /1.php?id=-1%df’ and 1=1%23时,这时候Mysql运行的语句为:select * from user where id = ‘1運’ and 1=1#’
这是由于单引号被自动转义成 \’ ,前面的 %df 和转义字符 \反斜杠(%5c)组成了 %df%5c,也就是 “運”字,这时单引号依然存在,于是成功闭合了前面的单引号。
漏洞挖掘:
搜索 SET NAMES 及 gbk 关键字
#号,新的开始
编码注入–二次urldecode注入:
只要字符串被进行转换就有可能产生漏洞,现在的web程序大多都会进行参数过滤,通常使用addslashes(),mysql_real_escape_string(),mysql_escape_string()函数或者开启 GPC 的方式来防止注入,也就是给单引号,双引号,反斜杠和NULL加上反斜杠转义。如果某处使用了 urldecode 或者rawurldecode 函数,则会导致二次解码生成单引号而引发注入。

原理是我们提交参数到 web服务器时,web服务器会自动解码一次,假设目标程序开启了 GPC ,我们提交 /1.php=1%2527,因为我们提交的参数里面没有单引号,所以第一次解码后的结果是 id=1%27,%25解码的结果是%,如果程序里面使用了 urldecode 或者 rawurldecode 函数来界面id 参数,则解码后的结果是 id=1’ 单引号成功出现,引发注入。

挖掘:搜索 urldecode
DDOS攻击
简介:基本上无解的攻击方式。
来源:僵尸网络
就是僵尸程序控制的计算机。
知名的僵尸网络:
1 ZeroAccess 一天 10万美元。
2 Zeus 数百万美元。
僵尸网络组成的节点:
1 普通的PC
2 服务器
3 移动设备
方法:精髓
利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量的资源,从而达到拒绝服务的目的。

攻击位置:
攻击网络带宽资源
直接攻击
发射和放大攻击
攻击链路
攻击系统资源
攻击TCP连接
攻击SSL连接
攻击应用资源
攻击DNS服务
攻击Web服务
混合攻击

工具:
综合性工具
Hping 编码和解析TCP/IP 协议的命令行开源工具。 当前版本应该 Hping3
PenTBox 免费的开源安全工具套装。
压力测试工具
LOIC 开源的网络压力测试工具,最初由Praetox公司开发。
HULK 基于python的 Web 压力测试工具。
专业攻击工具
Slowloris 是一个Perl程序,有Perl运行环境即可。

成本和收益:
首先抛弃只有“黑客”才能攻击的概念,因为分工现在已经很明确了。
大部分“黑客”都专注于特定领域,有的擅长发现漏洞,有的善于开发工具,有的负责入侵过程,有的专门处理帐号信息。
就DDOS攻击来说,一些“黑客”会建立和维护所谓的“攻击网络”。他们有的利用僵尸网络,有的控制高性能服务器,形成攻击能力后对外提供租用服务器。而最终的租用者很可能只是不具备任何专业知识的普通人。
30000元/月,开始。
收益:
单纯破坏发现没什么意义。
敲诈/报复
10%利润:
20%利润:
100%利润:

治理及缓解:
治理僵尸网络,
反射点等
SQL注入演示
演示网站:
工具演示:
加强web安全
编码规范
参数的安全过滤
第三方过滤函数与类 PHP安全里面的 80sec SQL注入过滤的类。
内置过滤函数
安全的加密算法
对称加密
非对称加密
业务功能安全设计
验证码
不刷新直接绕过
暴力破解
机器识别
打码平台 云速 Q赚
验证码资源滥用
配置规范
web服务器
Linux服务器
sql服务器
php本身
白名单
对于固定用户的,可以使用白名单机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值