jenkins/漏洞英文bug-0基础信息安全知识点

jenkins/漏洞英文bug-0基础信息安全知识点

CRLF注入

在*nix系统中,常见的换行符为\n(即Line Feed,ASCII \10)

中常见的换行符为\r\n(即 + Line Feed ASCII \13\10),在HTTP请求中,使用的也是CR-LF换行。

此漏洞常出现在当web应用将请求的一部分写入HTTP头时,下面以一个最简CR-LF洞举例。

假设我们有一个网站,且我们的web服务器没有做防御,在遇到

%0D%0ASet-:token=pwned的请求时(%0D%0A为url编码的\13\10),

这时候,网站如果直接回应,HTTP 就会变成这样:

Connection: keep-alive
Content-Length: *
Content-Type: text/html
Date:Wed, 29 Nov 2017 06:23:45 GMT
Location: http://www.testme.com/
Set-Cookie: token=pwned

这里的最后的这一句Set-: token=pwned 并不是服务器所期望的,我们的请求中的URL中的%0D%0A转换为了换行符,所以在中我们成功改变了服务器回应的HTTP报文。

当然,现在这样做看起来可能并没有什么卵用。

在现实应用中,我们一般可以构造一个危害链接,使得HTTP 中网页前段插入一段JS代码,诱导用户点击,这样在用户点击这个链接的时候,在浏览器看来,这个JS并没有跨域,也没有特殊操作,但是用户的页面已经成功被我们控制,包括他的,包括他的下一步的请求信息,我们还可以在某些情况下构造里的参数,使得我们的JS一直被用户带着浏览,达到更加不为人知的目的。

文件包含/目录遍历

假设我们有一个网站,

如果的目录有问题,那么我们可能可以通过

这样读取到服务器的/etc/文件,这非常危险。

另外一种就是文件请求问题,

比如我做了一个网页,其中一个frame中的东西我想使用自己缓存的静态网页填充,最后做出来网站是这样的

这样存在访问://www.mi.com后,

获得一个嵌入了小米官网的网页,如果我们的网页有脚本将发送到某个地方,这样用户的就泄露了,很多系统都曾发现过文件包含漏洞。

在php里有可能可以引入php脚本执行php指令

序列化

此处以php举例,php中有() 这一序列化/反序列化内置工具,在系统直接接受一个序列化对象,并且没有将其认真过滤时,容易引起一些应用安全问题。

举例:利用下面这个php类的()析构函数,删除index.php

class cache { public $cache_file; function __construct() { // some PHP code...
 } function __destruct() { $file = "/var/www/cache/tmp/{$this->cache_file}"; if (file_exists($file)) @unlink($file);
 }
}$user_data = unserialize($_GET['data']);

我向这个系统请求:8:"cache":1:{s:10:"";s:15:"../../index.php";}

系统序列化完毕后,这个对象成为一颗定时炸弹,当析构这个对象的同时,调用析构函数就把index.php给一起删掉了。

暴露序列化/反序列化接口非常危险,近年来、等java库,、、 REST等等广为使用的系统均出现过各种反序列化漏洞,这种漏洞一般比较隐蔽,不容易被发现,但是也很容易被有心的人士利用,造成巨大损失。

SQL注入攻击

SQL注入攻击已经是老生常谈了,各种过滤绕过的对抗让人眼花缭乱,归根结底还是一种语义攻击,改变原有的查询,CURD一些数据库的条目。

举例最简情况

'md5()'

后台SQL:" FROM WHERE ="++"AND ="++";"

如果我的请求是 OR 1;&=,

那么我们就成功用admin的角色登进去了系统。

在此基础上发展来的盲注,手注,注入,包括等工具,以及被安全人员所不齿的kali上的明小子(雾)、啊D等工具,各种黑科技的绕过手段,基本原理还是上面的语义攻击手段。

XSS/CSRF

XSS名叫跨站脚本攻击,顾名思义,就是执行了一个不是你源站的脚本的攻击,最简单的一个例子就是当年某大型论坛系统,文本框中对html标签毫无限制,结果发表一句

 

在某个帖子上,所有访问这个帖子的人全部原地爆炸,那时候的浏览器还没有连续弹框可以直接拒绝弹窗的功能,上面CRLF中,在用户网页里执行我们的脚本也算是一种XSS。

CSRF是跨站请求伪造攻击,也就是,用户在不知情的情况下访问了他所无法预料的链接,比如据传某广告屏蔽软件就在向用户网页中注入不可见广告的js模块赚取高额利润,这就是一种CSRF。

常见的知名CVE

的漏洞、13-17年连续爆出的大量洞、、、反序列化、、本地容器提权、各大系统的命令执行漏洞......

有兴趣的同学可以自行搜索

如何预防这些安全漏洞?

安全漏洞是不可避免的,任何一个较为大型的系统都会有漏洞出现,这是一个软件生命周期中几乎必定会经受的考验,我们能做的有

1.增强安全意识,减少漏洞出现的频率

首先在开发时,不要使用eval()、()等等高危函数,写SQL查询时使用()预置模板,并且严格检查用户的输入,严格过滤所有来源不明的信息,坚信用户输入是不可靠的。

2.做好基本安保措施,防止可能出现的攻击

做好服务器出站策略,很多扫描脚本常使用的nc、-等软件做好防御和检测,不常见url请求要注意分析,数据库连接查询条目做好检测,大批量查询要进行拦截并报警。

nginx中可以设立蜜罐,防范扫描器扫描网站,比如将所有访问/wp-admin的IP地址全部封禁,同时导入公用IP黑名单、使用非人类鉴别服务,对公有云、公有IDC的IP段打来的流量重点防范。

利用、等特性隔离部分风险,禁止某些敏感命令。

3.提高漏洞响应速度,防止出现更大损失

响应后酌情处理,能下线马上下线,防止数据泄露。

来源 微信公众号 小米运维

~

网络安全学习,我们一起交流

~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值