Laravel框架是目前许多网站,APP运营者都在使用的一款开发框架,正因为使用的网站较多, 许多攻击者都在不停的对该网站进行漏洞测试,我们SINE安全在对该套系统进行漏洞测试的 时候,发现存在REC漏洞.主要是XSRF漏洞,下面我们来详细的分析漏洞,以及如何利用,漏洞修 复等三个方面进行全面的记录. 该Laravel REC漏洞的利用是需要条件的,必须满足APP_KEY泄露的情况下才能成功的利用与 触发,我们SINE安全技术在整体的漏洞测试与复现过程里,共发现2个地方可以导致网站漏洞 的发生,第一个是Post数据包里的cookies字段,再一个是HTTP header字段可以插入恶意的共 计代码到网站后端中去. 我们来搭建一下网站漏洞测试的环境,使用linux centos系统,PHP5.5版本,数据库是mysql, 使用apache环境来搭建,使用的Laravel版本为5.6.28.首先我们去官方下载该版本,并解压到 apache设置的网站目录路径.首先我们post数据过去可以看到我们代码里,会调用十几个类, 并将类里的对象进行调用,参数赋值,而在cookies和verifycsrftoken值里发现可以使用 app_key进行漏洞利用,首先我们使用cookies来复现看下: 代码如下: POST / HTTP/1.2 Host: 127.0.0.2:80 Cookie: safe_SESSION=PHPSTORM; 5LqG5L+d6K+B5omA6L6T5Ye655qE57yW56CB5L2N5Y+v6K +75a2X56ym77yMQmFzZTY05Yi25a6a5LqG5LiA5Liq57yW56CB6KGo77yM5Lul5L6/6L +b6KGM57uf5LiA6L2s5o2i44CC57yW56CB6KGo55qE5aSn5bCP5Li6Ml42PTY077yM6L +Z5Lmf5pivQmFzZTY05ZCN56ew55qE55Sx5p2l44CCDQoNCkJhc2U2NOe8lueggeihqA==; Content-Type: application/x-www-form- Connection: open Content-Length: 1 上面的代码中在cookies栏里.base64加密的值就是我们要伪造的攻击代码,将该POST请求提 交到网站中去,首先会对APP_key进行解密并赋值过去,如果解密成功的话, 哪么就会效验 cookies里的值,并对其进行反序列的操作,进而导致漏洞的发生,就会触发RCE漏洞了. http header方式的漏洞利用,我们漏洞测试一下,首先也是构造跟cookies差不多的代码,如 下: POST / HTTP/1.2 Host: 127.0.0.2:80 X-XSRF-TOKEN: +B5omA6L6T5Ye655qE57yW56CB5L2N5Y+v6K +75a2X56ym77yMQmFzZTY05Yi25a6a5LqG5LiA5Liq57yW56CB6KGo77yM5Lul5L6/6L +b6KGM57uf5LiA6L2s5o2i44CC57yW56CB6KGo55qE5aSn5bCP5Li6Ml42PTY077yM6L +Z5Lmf5pivQmFzZTY05ZCN56ew55qE55Sx5p2l44CCDQoNCkJhc2U2NOe8lueggeihqA==; Content-Type: application/x-www-form- Connection: open Content-Length: 1 这里看这个X-XSRF-TOKEN:值,Laravel 框架在提交过程中会去判断并效验这个值,如果解密 成功就会进行反序列化的操作,这里就不再一一的介绍与解释了. 那如何对Laravel的漏洞进行修复? 我们SINE安全技术对Laravel的版本进行升级发现,最新的5.6.30版本已经对该rce漏洞进行 了修复,在我们对代码的比对中看出,对cookies的解密并解析操作进行了判断,多写了 static::serialized() 值,同样的在X-XSRF-TOKEN里也加入了这个值.如果您对代码不是太 懂的话,也可以找专业的网站安全公司来进行修复,国内SINESAFE,绿盟,启明星辰,都是比较 不错的,针对于Laravel的网站漏洞检测与测试就到此,也希望通过这次的分享,让更多的人了 解网站漏洞,漏洞的产生原因,以及该如何修复漏洞,网站安全了,我们才能放开手脚去开拓市 场,做好营销.
宙飒天下网 正文
网站漏洞测试 基于Laravel框架的安全分析与修复
此篇文章发布距今已超过683天,您需要注意文章的内容或图片是否可用!
还没有评论,来说两句吧...