[MRCTF2020]PYWebsite
思路
线索很清晰(真的吗

解题
抓包,加入localhost看看X-Forwarded-For: 127.0.0.1
flag{e22e0969-236e-4ee2-95b2-84c6fca7d37c}
注意
了解http的header字段属性
[ASIS 2019]Unicorn shop
思路
挺有意思的一道题,让我买独角兽
随便试试之后发现只输入ID不输入price时,提示使用了unicodedata.numeric这个函数

查了查这个函数,是将Unicode字符(chr)转换为等效的数值,例如:
import unicodedata
print(unicodedata.numeric('4')) # 4.0
print(unicodedata.numeric('八')) # 8.0
print(unicodedata.numeric('百')) # 100.0
解题
ID为4,price为万,结束
注意
还是要积累一些函数的使用
[网鼎杯 2020 朱雀组]Nmap
思路
常规扫站找不到什么,既然是nmap,尝试检验一下有没有escapeshellarg和escapeshellcmd的漏洞
POC如下
127.0.0.1' -o aaabbb
然后看到确实有漏洞

这个的原理是nmap会先escapeshellarg,之后escapeshellcmd,再执行
解题
找一找nmap的参数就行,发现-iL导入文件,-oG导出到文件
payload:
127.0.0.1' -iL /flag -o abcd
之后看abcd'就能看到flag,注意不能是-oG,这个参数好像没法把报错输出,只能-o
注意
看到nmap就要想起这个漏洞
[NPUCTF2020]ReadlezPHP
思路
乱翻翻到/time.php?source

解题
从别的WriteUp看到flag在phpinfo里面(又没说,谁知道啊
又知php可以在字符串变量后面加括号的时候自动寻找对应函数名的函数来执行,那么可以
eval("phpinfo();");
assert(phpinfo());
call_user_func(phpinfo); # 将第一个参数作为回调函数使用
注意
PHP assert 和 eval_eval=false php-CSDN博客
assert()可以将整个字符串参数当作php参数执行,
而类似的eval()函数是执行合法的php代码,eval()里的引号必须是双引号,因为单引号不能解析字符串里的变量$str,且必须以分号结尾,函数调用除外
另外,这提醒我们多注意一下phpinfo(?
[CISCN2019 华东南赛区]Web11
思路
发现页面回显,可惜没什么用

看到currentIP,试试X-Forwarded-For发现存在回显,同时看到下文的“Build With Smarty !”,基本可以确定是模板注入漏洞

解题
我对Smarty不熟,只能看WriteUp了
payload是{if readfile('/flag')}{/if}
不过这里好像没有什么过滤,不需要绕过,直接{system('cat /flag')}完事
Smarty标签最基础的功能就是显示执行结果
注意
学习一下Smarty的模板知识