饶过'(单引号)限制继续射入
生活随笔
收集整理的這篇文章主要介紹了
饶过'(单引号)限制继续射入
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
| 本文作者:angel 文章性質(zhì):原創(chuàng) 發(fā)布日期:2004-04-02 | ||||
我想不少人都看過(guò)一些關(guān)于SQL Injection針對(duì)SQL Server攻擊的文章,都是因?yàn)樽兞窟^(guò)濾不足甚至沒(méi)有過(guò)濾而構(gòu)造畸形SQL語(yǔ)句注入的,包括我寫(xiě)的那篇《SQL Injection的實(shí)現(xiàn)與應(yīng)用》也是這樣的例子,因?yàn)闆](méi)有碰到任何的過(guò)濾,所以使我們相當(dāng)輕松就注入成功了,如下:
這往往給大家造成誤解,認(rèn)為只要變量過(guò)濾了'就可以防止SQL Injection攻擊,這種意識(shí)為大量程序可以注入埋下禍根,其實(shí)僅僅過(guò)濾'是不夠的,在'被過(guò)濾的情況下我們照樣玩,看下面語(yǔ)句:
是不是跟上面的那句有很大區(qū)別?可是效果完全是一樣的。其實(shí)這些都是SQL語(yǔ)句。
這句是“net user angel pass /add”的16進(jìn)制格式。了解SQL的朋友就容易明白,先聲明一個(gè)變量a,然后把我們的指令賦值給a,然后調(diào)用變量a最終執(zhí)行我們輸入的命令。變量a可以是任何命令。如下:
解決辦法: 過(guò)濾變量,限制只允許輸入特定字符。比如對(duì)于數(shù)字類(lèi)型的變量就限制只能輸入數(shù)字類(lèi)型的數(shù)據(jù)。具體就不說(shuō)了。這完全是程序作者自由發(fā)揮了。 |
總結(jié)
以上是生活随笔為你收集整理的饶过'(单引号)限制继续射入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。