0x01 環境部署
首先啟動一個tomcat的環境先把這裡的代碼跑起來
先把這裡的代碼跑起來,通路tomcat
在docker中的
tomcat/conf
中可以看到賬号密碼
将JSP打包為war包
jar -cvf 1.war 1.jsp
随後上傳就部署好了
0x02 靜态代碼分析
大部分的方法其實沒什麼好看的,重點在下面的判斷中
從這裡開始才是實際的處理邏輯,往下翻就可以看到一個runtime
那麼這裡應該如何執行指令呢?一行一行來說
這裡需要擷取一個參數z0,這裡是個三元表達式,如果z0不等于空的話,那麼cs的值就是z0這個GET參數的值,如果z0為空的話,它的預設值就是如下
繼續回到代碼,那麼需要設定響應頭位text/html,并且将編碼設定為要麼是UTF-8要麼是傳進來的編碼,随後繼續看到下面的處理邏輯
首先需要擷取一個參數為pwd的參數,這個pwd代表的值是如下pwd是110,那麼也就意味着這裡需要傳一個
110=xxx
的參數,繼續往下看
也可以看到z1和z2分别兩個參數,那麼其實作在把視角放大一些,可以發現,Pwd(也就是110這個參數)其實是決定了我們會用什麼方法的
既然這樣,目前大部分到這裡已經梳理的差不多了,首先我們知道需要傳的參數如下1、z0 表示編碼2、110 表示處理邏輯3、z1 z2分别為不同處理邏輯那麼如何構造參數進行執行指令呢?