網絡安全從入門到精通(第十章-1)變量覆蓋漏洞

本文內容:
			~什麼是變量覆蓋	
			~函數解析
			~補充
每日一句:
			今天開始,有了代碼審計的影子。
			這是成爲大佬的必經路,大家儘量都要學會
			CNVD證書和代碼審計能力是安全方面找工作制高點

一、什麼是變量覆蓋

	1,定義
			指的是可以用我們的傳參值替換程序原有的變量值
			例如:
				<?php
					$a = 1;
					$a = fg;		//在這就完成了覆蓋,是不是很簡單
					echo a;			//輸出“fh”
				?>
				
	2,尋找變量覆蓋
			可能會有的場景:		
				~$$使用不當									//常見
				~extract()函數使用不當						//常見
				~parse_str()函數使用不當						//常見
				~import_request_variables()函數使用不當
				~開啓了全局變量註冊等等

二、函數解析

	1,extract()
	
		作用:將數組的對應變爲變量的對應
		例子:
				<?php
					$a = "1";
					$my_array = array("a" => "Cat","b" => "Dog");
					extract($my_array);				//啓用函數
					echo "\$a = $a; \$b = $b;";		
				?>
					
				輸出內容:$a = Cat; $b = Dog; 		//這的變量a被成功覆蓋
		補充:php獲得GET與POST傳參,都會將其轉化爲數組形式
		
	2,parse_str()
	
	作用:將字符串變成變量
	例子:
				<?php
					parse_str("name=sb&&age=60");		//啓用函數
					echo $name."<br>";
					echo $age;
				?>

				輸出內容:sb和60 
	
	3,符號導致(如$$)
		不僅函數會造成變量覆蓋,有些符號的特殊搭配也會造成變量覆蓋
		例子:
				<?php
					$a='b';
					$b='c';
					echo $$a;		$$a => $b => c
				?>
			輸出結果:c
			
			像這種情況並不是開發傻,只是開發爲了實現某些功能,而這麼寫的
			比如,這個漏洞就在dede織夢的某個版本中存在。初衷也是爲了實現
			將傳參變爲變量,只是沒有進行合適檢查過濾
	
	4,一個代碼審計小工具
			Seay源代碼審計系統,感覺還可以,就是規則稍微有點陳舊,可以自己增加
			
			建議:學會利用工具但不要依賴工具,沒好處,對自己的成長不是太有利
				  找不到工具的,可以私信我
	
	5,php一些代碼
			exit與die  這樣的字眼,一般不能讓他觸發。讓他執行,下邊的語句就不執行了
			
			補充一下:php的$_REQUEST
					在低版本中,接收 get與post與cookie的傳參
					在高於5.2中,就不接受cookie傳參了

三、補充

	1,漏洞分類
			~事件型漏洞		:僅針對某站點
			~通用性漏洞		:一般針對某一套CMS,或者web容易,往往一打一大片
			
			~白盒審計	: 擁有源代碼找漏洞 = 代碼審計
			~黑盒測試	: 入侵 [黑盒測試他是有侷限性的]
			
			補,白盒審計可以更好更徹底的找出漏洞
				一般挖掘SRC,想拿通用性,推薦CMS白盒審計
			
	2,CMS的通殺用處
			~可以獲得CNVD原創漏洞證書
			~CMS可以說是關注資產,你可以直接換錢
			~CMS通殺可以幫你找到N個漏洞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章