• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Ay's Blog@CNSSUESTC

            初級(jí)PHP注入筆記--by __ay


            首先介紹下SQL的select的語(yǔ)法??這個(gè)是注入中非常非常重要的語(yǔ)法,起碼PHP注入中的50%左右都是通過(guò)這個(gè)動(dòng)作完成的

            先說(shuō)說(shuō)語(yǔ)法
            select [字段名] from [表名] where [限制條件]

            看不明白?呵呵??拿個(gè)例子說(shuō)話(huà)就知道了。

            假設(shè)我們1個(gè)數(shù)據(jù)庫(kù)里面有個(gè)表,表名是user??表里面有2個(gè)字段,1個(gè)是psw 一個(gè)是username
            那么? ? select username from user??返回的結(jié)果是這個(gè)表里面的所有用戶(hù)名
            select psw from user??返回的結(jié)果是這個(gè)表里面的所有密碼,
            那么你想得到某個(gè)用戶(hù)名的密碼的話(huà)如下語(yǔ)句可以幫你實(shí)現(xiàn)
            select psw from user where username='你想要的用戶(hù)名'

            OK 講解完畢,那么我們來(lái)講講一個(gè)典型的例子,萬(wàn)能密碼不知道大家聽(tīng)說(shuō)過(guò)沒(méi)有,我們來(lái)看看他是怎么實(shí)現(xiàn)的

            $query="select * from user where username='$username' and psw='$psw' and id=1" ;

            這個(gè)是一個(gè)PHP典型的用戶(hù)驗(yàn)證語(yǔ)句
            我們輸入的??用戶(hù)名會(huì)被送入到username 這個(gè)變量中,而密碼會(huì)被送入到psw這個(gè)變量中。
            那么我們假設(shè)現(xiàn)在手頭沒(méi)有用戶(hù)名密碼,但是我們又想進(jìn)去,那怎么辦呢?
            我們現(xiàn)來(lái)觀察下這個(gè)語(yǔ)句,這個(gè)是一個(gè)sql語(yǔ)句,也即是說(shuō)它會(huì)被送到數(shù)據(jù)庫(kù)里面執(zhí)行,那么我們只要通過(guò)某種方法使得在不用用戶(hù)名和密碼的情況下,使這個(gè)語(yǔ)句為真就可以了。歷史證明這么想是可行的,看不明白?看例子。
            比如我們輸入的用戶(hù)名密碼如下,

            用戶(hù)名??'or '1'='1' #
            密碼??隨便填

            注:#是sql語(yǔ)句里面的注釋符

            那么我們的sql語(yǔ)句會(huì)變成這樣:

            $query="select * from user where username=''or '1'='1' #‘ and psw='隨便寫(xiě)' and id=1" ;


            看到?jīng)]有?紅色標(biāo)注的是我們輸入的用戶(hù)名 紫色標(biāo)注的是被注釋掉的東西
            我們來(lái)分析下這個(gè)句子,’1‘=’1‘這是永遠(yuǎn)成立的??那么不管前面的username對(duì)不對(duì)這個(gè)邏輯判斷永遠(yuǎn)都是真的,而后面驗(yàn)證密碼的那些東西都被 注釋掉了,也就是說(shuō)這樣自我們的SQL語(yǔ)句是有返回的數(shù)據(jù)的,而且一般管理員的信息都是在user表中的第一個(gè),也就是說(shuō)這個(gè)時(shí)候$query這個(gè)變量中 就儲(chǔ)存了管理員的用戶(hù)信息,下面的程序一看到是管理員的信息,那么就會(huì)自動(dòng)跳轉(zhuǎn)到管理員的用戶(hù)界面過(guò)去了。

            也就是說(shuō),我們達(dá)到了不用管理員帳戶(hù)密碼登入了管理員的后臺(tái)界面~!呵呵是不是很神奇呢?

            那么再來(lái)一個(gè)例子

            如果PHP中有個(gè)語(yǔ)句是這樣的

            $query="select tittle,content from user where id=".$id ;


            假設(shè)我們可以改$id這個(gè)變量??而且我們知道表user里面存放著管理員密碼,那么這個(gè)時(shí)候我們也可以把管理員帳號(hào)和密碼弄到手

            不信?

            我們現(xiàn)來(lái)看看union這個(gè)語(yǔ)法??這個(gè)是??連接2個(gè)select用的語(yǔ)法,這樣的話(huà)可以返回2個(gè)select的信息

            比如

            select * from user union select * from topic
            (不知道對(duì)不對(duì)??懶得查了??大概就這樣)
            那么這個(gè)語(yǔ)句的結(jié)果是返回2個(gè)表里面的所有字段信息

            注:*是統(tǒng)配符??也就是說(shuō)*表示所有??select * from user 就是說(shuō)把user表里面的內(nèi)容全部返回過(guò)來(lái)

            那么我們輸入的變量$id的信息可以是這樣

            2 and 1=2 union select psw from user where username='管理員帳號(hào)'

            那么密碼就可以暴出來(lái)了??但是紅色標(biāo)注的那個(gè)地方的psw那里必須注意,比如你前面的select是搜出3個(gè)字段的信息,那么你后面的select也必須得是3個(gè)字段的信息

            比如
            select tittle,content from user where id=".$id ;這個(gè)語(yǔ)句,我們填充后的語(yǔ)句必須是

            select tittle,content from user where id=2 and 1=2 union select 1,psw from user where username='管理員帳號(hào)'

            這樣,前面的select返回的是2個(gè)字段??我們后面的select必須返回2個(gè)字段,如果字段數(shù)不夠就用1填充,就向上面的例子一樣

            之所以要1=2是應(yīng)為我們必須要讓前面的信息不能顯示,我們后面select語(yǔ)句的信息才能顯示出來(lái),如果要and后面是1=1的話(huà)前面的select語(yǔ)句生效,就不會(huì)顯示我們后面的select語(yǔ)句的內(nèi)容了??呵呵

            posted on 2008-12-07 16:12 __ay 閱讀(1239) 評(píng)論(2)  編輯 收藏 引用 所屬分類(lèi): Security

            Feedback

            # re: 初級(jí)PHP注入筆記--by __ay 2008-12-08 10:34 zuhd

            能讓你這么容易注入的估計(jì)都是沒(méi)做過(guò)濾的。。。。  回復(fù)  更多評(píng)論   

            # re: 初級(jí)PHP注入筆記--by __ay 2008-12-09 14:24 __ay

            初級(jí)注入... 我研究的也不是很深~
            以前很早寫(xiě)的一篇學(xué)習(xí)筆記,沒(méi)地方放,放這來(lái)曬曬~獻(xiàn)丑了~~呵呵  回復(fù)  更多評(píng)論   


            国产亚洲精久久久久久无码| 岛国搬运www久久| 99久久这里只精品国产免费| 久久精品国产只有精品66| 亚洲欧美久久久久9999| 亚洲精品无码专区久久久| 久久精品国产99国产精品澳门 | 久久国产亚洲精品麻豆| 久久精品亚洲乱码伦伦中文 | 亚洲中文久久精品无码| 久久精品www人人爽人人| 国产精品丝袜久久久久久不卡| 久久久这里只有精品加勒比| 久久久噜噜噜久久熟女AA片| 国产午夜精品理论片久久| 97精品国产97久久久久久免费| 久久免费美女视频| 亚洲国产精品无码久久98| 国产2021久久精品| 婷婷久久香蕉五月综合加勒比| 伊人久久大香线蕉精品| 久久久久久久精品成人热色戒| 一本色道久久88加勒比—综合| 久久99热这里只有精品66| 久久婷婷国产麻豆91天堂| 国产69精品久久久久久人妻精品| 久久精品国产亚洲一区二区| 精品国产青草久久久久福利| 精品久久人人妻人人做精品| 麻豆亚洲AV永久无码精品久久 | 精品久久久无码中文字幕天天| 漂亮人妻被黑人久久精品| 亚洲国产成人久久综合一区77| 久久精品国产亚洲综合色| 男女久久久国产一区二区三区 | 亚洲精品午夜国产VA久久成人| 久久久久亚洲AV成人网| 久久亚洲综合色一区二区三区| 久久一日本道色综合久久| 久久免费看黄a级毛片| 久久性生大片免费观看性|