buuoj 刷题记录(一)
[TOC]
[网鼎杯 2020 朱雀组]phpweb
抓包
date是一个函数,后面的p应该是它的参数,猜测使用了call_user_func(函数名,参数)函数
使用 func=readfile&p=index.php
读取源码
1 | <?php |
禁用了很多函数,看到有 __destruct() 函数,尝试构造反序列化
1 | <?php |
寻找flag文件
读取flag
[MRCTF2020]你传你ma呢
利用BurpSuite修改MIME欺骗后端文件类型 修改 Content-Type: image/png 然后就可以传任意文件后缀 利用.htaccess来制作图片马
增加使用php解析的文件后缀(.jpg)
1 | AddType application/x-httpd-php .jpg |
然后再写个一句话,连上蚁剑即可
[极客大挑战 2019]Upload
绕过后缀名检验:php、php3、php5、php7、pht、phtml
文件头加入 GIF89a
修改 Content-Type: image/jpeg
可解析为php的标签
1 | <?php phpinfo(); ?> |
php版本是5.5.9,用第三个
上传之后连接蚁剑即可
[FBCTF2019]RCEService
1 | <?php |
正则表达式修饰符s匹配多行,这里直接用%0A
换行符绕过正则payload:
1 | {%0A"cmd": "/bin/cat /home/rceservice/flag"%0A} |
Linux命令的位置:/bin,/usr/bin,默认都是全体用户使用,/sbin,/usr/sbin,默认root用户使用
[SUCTF 2019]CheckIn
考点:文件上传
利用.user.ini构造php后门,.user.ini的使用前提是目录中必须有至少一个php文件,.user.ini有两个配置参数:auto_prepend_file和auto_append_file。
auto_prepend_file指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。 使用方法很简单,直接写在.user.ini中:
1 | auto_prepend_file=01.gif |
01.gif是要包含的文件。
所以,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。
[GXYCTF2019]BabyUpload
没什么好说的,apache服务器上传.htaccess文件
[BJDCTF 2nd]Schrödinger
毫无意义的一道题,浪费了十几分钟的时间。
[MRCTF2020]PYWebsite
查看源码有flag.php
,访问然后修改X-Forwarded-For: 127.0.0.1
可得flag
[网鼎杯 2018]Comment
二次注入,git泄露
爆破得到账号密码,登陆
然后是git泄露,先下载源码然后修复,得到如下:
1 | <?php |
do=write的时候对传入的数据进行转移,但是之后数据库会自动清除反斜杠,然后do=commit的时候对取出的category没有进行处理就插入,导致了二次注入,所以前面那个addslashes根本起不到防护的作用
第一次输入category和第二次输入content可以拼接,如下
1 | insert into comment |
然后再放两个payload,读取flag:
1 | ',content=(select load_file('/etc/passwd')),/* |
elementmaster
这个没什么好说的,直接上脚本
1 | import os |
- Post Title: buuoj 刷题记录(一)
- Post Author: Katharsis
- Post Link: http://yoursite.com/2020/07/13/buuoj_01/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.