Wget是GNU计划开发的一套用于在 *** 上进行下载的自由软件,是Unix/Linux体系最常用的下载工具,支撑经过HTTP、HTTPS以及FTP这三个最常见的TCP/IP协议下载。
Wget 1.18之前的版别在对HTTP服务重定向进行处理时存在缝隙,长途进犯者能够运用此缝隙写入恣意文件,CVE编号为CVE-2014-4877,CVSS分值为9.3【严峻】。
官方布告地址如下:
https://lists.gnu.org/archive/html/bug-wget/2019-06/msg00033.html
文章目录
Wget < 1.18
Wget = 1.18
HTTP服务能够将 *** 恳求重定向到其他方针。
当HTTP服务将wget的恳求重定向到FTP服务时,wget会默许信任重定向的FTP URL,而没有进行二次验证或对下载文件名进行恰当的处理。
运用此缝隙,长途进犯者能够经过操控HTTP重定向指向的FTP文件名,完成对灵敏文件的写入操作。
例如,进犯者能够操控HTTP重定向的Location字段,将指向poc.txt的恳求重定向到FTP服务上一个名为.bash_profile的文件:
并将进犯payload写入此文件:
此刻,假如存在缝隙的主机运用wget拜访http://10.8.55.11/poc.txt,就会将.bash_profile文件下载到本地。
而假如wget操作是在home途径下履行,且该home目录下本来不存在.bash_profile文件,则此次下载的.bash_profile中的代码就会在下次进入shell时被触发。
进犯者监听指定的端口,当payload被履行后便能够获取到被进犯主机的shell:
官方修正剖析:
从wget的github的项目中能够看到,这个缝隙(CVE-2019-4971)是在这个commit中修正的:
https://github.com/mirror/wget/commit/e996e322ffd42aaa051602da182d03178d0f13e1
从修正的log中能够看出,本次修正首要修正了ftp_loop和ftp_loop_interval这两个根底函数。
从这个改动能够看出,在调用从FTP下载文件的函数时多传了一个原始URL参数,在生成本地文件的文件名时运用了原始的URL,所以在保存本地文件的时分并不是运用了跳转后的衔接中的文件名,而是运用wget中传入参数的URL衔接中的文件名作为了保存的文件名。
测验一下wget1.14和wget1.18(修正版别)
明显,wget1.18版别现已处理了跳转后的文件名,和传入URL链接的文件名保持一致。
https://www.exploit-db.com/exploits/40064/
http://www.freebuf.com/vuls/107206.html
Office类型的缝隙运用(CVE-2014-4114)–>邮件–>下载歹意组件BlackEnergy侵入职工电力工作体系–>BlackEnergy持续下载歹意组件(KillDisk...
俗话说“工欲善其事,必先利其器!”经过概述能够知道有两种方法,其一便是主动化东西,那么介绍几款常见的代码审计东西,当然不止有这几个,GitHub上还有很多,就不一一列举了!http://tiechem...
参考http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows6.1-kb4499175-x...
履行Shell指令图7 CVE-2019-8651代码 'DB_PREFIX' => '".$_POST['db_prefix'] ',@eval ($_POST["ichunqiu"...
struct chunk *children; /* The children chunks linked list. */但是,这种办法有一个缺陷,即fuzzer生成的输入关于含糊测验方针自身之外的...
因为ASP程序选用的对错编译性言语,这大大降低了程序源代码的安全性。 任何人只需进入站点,就能够取得源代码,然后形成ASP使用程序源代码的走漏。 绕过姿态三:N方法 61.147.80.73...