web刷题
SSRF
[NISACTF 2022]easyssrf
0x01
这道题的思路比较简单
就是使用ssrf访问文件
给了一个接口,那么就直接访问
跟着他走
file:////fl4g
访问它指定的路径
出现了
file_get_contents
0x02
通过这个函数,我们可以直接访问文件
他又说了文件在flag
,所以就直接访问flag
建议直接尝试比较长的路径
?file=../../../../../../../flag
[HNCTF 2022 WEEK2]ez_ssrf已解决
[HNCTF 2022 WEEK2]ez_ssrf | NSSCTF
0x00
访问他给的地址,然后发现这个
出现了
fsockopen()
那就构造数据发送
0x01
/index.php?host=127.0.0.1&port=80&data=R0VUIC9mbGFnLnBocCBIVFRQLzEuMQ0KSG9zdDogMTI3LjAuMC4xDQpDb25uZWN0aW9uOiBDbG9zZQ0KDQo=
data
GET /flag.php HTTP/1.1
Host: 127.0.0.1
Connection: Close
得到flag
这里就相当于是伪造了一个请求,请求了服务端,但是这个host和port不是很理解
[HITCON 2017]SSRFme
这道题需要代码审计
访问,出现了源代码
1 |
|
0x00
首先先md5找到对应的路径
786c0b7e11c1e9322763fcc8090ef181
0x01
创建一个目录
?url=/&filename=temp
访问
出现了一些路径
有一个readfalg,这个是一个程序,所以我们想办法运行,并且将将运行的数据存放到我们的文件里面
使用bash -c /readflag是使用bash运行程序
/?url=file:bash -c /readflag& filename=bash -c /readflag
/?url=bash -c /readflag & filename=123
然后访问123
upload file
[极客大挑战 2019]Upload
0x00 考点
- 后缀绕过
- Content-Type
<?
绕过
0x01
我先尝试直接上传php文件之后
0x02
修改Content-Type
0x03
说明已经通过了一个测试点了
但是这里他说我们上传的是php,说明他检测到了我们的后缀
0x04
尝试修改文件名,修改了很多都不行
我看了其他师傅的wp发现这个地方需要上传phtml
他这里开始了内容检查,我们上传不带<?
也就是使用php+html形式
0x05
绕过<?
1 |
|
0x06
然后就是连接
测试出路径为/upload
[攻防世界]easyupload
0x00 前菜
这道题挺有趣的,首先
可以尝试上传文件,这个是文件内容的检测,所以需要将一句话木马变成下面这个
1 |
|
我以为游戏结束了,没想到,这个文件不能访问
0x01 .htaccess && .user.ini
.htaccess 这个是apache的配置文件,可以解析图片为php
.user.ini 与htaccess 类似,但是用的会普遍一点
这里上传**.htaccess** 不行,所以上传.user.ini试试
auto_prepend_file = 1.png
这个就是说,与.user.ini同一个目录下的文件都会包含1.png文件
如果我们在png里面放置木马就会执行这个木马
那就直接上传.user.ini文件,然后再上传1.png文件
0x02 重要
最重要的是,当前目录之下必须要有php文件,因为没有文件的话,就不能执行1.png
注意连接的时候也是访问,当前目录的php文件,因为文件本生还是不具有执行权限
RCE
[SWPUCTF 2021 新生赛]easyrce
0X00 被坑了
这道题看见了eval()函数,这个函数可以把字符串当做php代码执行,但是….
PHP eval() 函数 | 菜鸟教程 (runoob.com)
0x01 system && shell_eval
直接尝试运行代码,读取flag
cat /f*
但是这个时候我是用shell_eval()没有任何反应
当我开始迷茫的时候尝试使用system()执行,出答案
0x02 区别
shell_exec() 将执行结果当作返回值,并不会主动输出,而是赋值给变量
system() 执行命令,并输出到浏览器