老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

2011-12-01SQL注入的防備-創(chuàng)新互聯(lián)

/tupian/20230522/thread-1499223-21-1.html

在彰武等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,彰武網(wǎng)站建設(shè)費(fèi)用合理。

207樓

我創(chuàng)建如下的兩張表并填入數(shù)據(jù):

CREATE TABLE plch_names1 (name VARCHAR2 (100))
/
CREATE TABLE plch_names2 (name VARCHAR2 (100))
/
BEGIN
   INSERT INTO plch_names1 VALUES ('Paul');
   INSERT INTO plch_names1 VALUES ('Ringo');
   INSERT INTO plch_names1 VALUES ('John');
   INSERT INTO plch_names1 VALUES ('George');
   INSERT INTO plch_names2 VALUES ('Jerry');
   INSERT INTO plch_names2 VALUES ('Bob');
   INSERT INTO plch_names2 VALUES ('Phil');
   COMMIT;
END;
/

然后我創(chuàng)建了這個(gè)函數(shù)來(lái)返回一個(gè)游標(biāo),里面包含了指定表名的name列的數(shù)據(jù):

CREATE OR REPLACE FUNCTION plch_get_names (table_in IN VARCHAR2)
   RETURN SYS_REFCURSOR
IS
   l_cv   SYS_REFCURSOR;
BEGIN
   OPEN l_cv FOR 'select name from ' || table_in || ' order by name';
   RETURN l_cv;
END plch_get_names;
/

這里是一個(gè)“幫手”過(guò)程來(lái)顯示這個(gè)函數(shù)所返回的數(shù)據(jù):

CREATE OR REPLACE PROCEDURE plch_show_names (table_in IN VARCHAR2)
IS
   l_cv     SYS_REFCURSOR;
   l_name   plch_names1.name%TYPE;
BEGIN
   DBMS_OUTPUT.put_line ('Names in ' || table_in);
   l_cv := plch_get_names (table_in);
   LOOP
      FETCH l_cv INTO l_name;
      EXIT WHEN l_cv%NOTFOUND;
      DBMS_OUTPUT.put_line (l_name);
   END LOOP;
   CLOSE l_cv;
END plch_show_names;
/

當(dāng)我執(zhí)行下列這個(gè)代碼塊,我可以看到Beatles 和 Grateful Dead樂(lè)隊(duì)的成員。(即上述兩張表中的數(shù)據(jù))

BEGIN
   plch_show_names ('plch_names1');
   plch_show_names ('plch_names2');
END;
/

不幸的是,如果我這樣來(lái)執(zhí)行:

BEGIN
   plch_show_names (
      'plch_names2 where 1=2 union select username from all_users --');
END;
/

我看到了數(shù)據(jù)庫(kù)實(shí)例中所有用戶的名字,這屬于安全違規(guī)(是一種SQL注入)

下面哪些plch_get_names函數(shù)會(huì)拋出異常,假如調(diào)用時(shí)傳入了那個(gè)“注入”參數(shù)值,但是如果傳入像plch_names1 和 plch_names2這樣的“真實(shí)”表名你還可以看到表中數(shù)據(jù)?

(A)

BEGIN
   OPEN l_cv FOR
         'select name from '
      || DBMS_ASSERT.simple_sql_name (table_in)
      || ' order by name';
   RETURN l_cv;
END plch_get_names;

(B)

BEGIN
   DBMS_ASSERT.simple_sql_name (table_in);
   OPEN l_cv FOR 'select name from ' || table_in || ' order by name';
   RETURN l_cv;
END plch_get_names;

(C)

BEGIN
   OPEN l_cv FOR
         'select name from '
      || DBMS_ASSERT.qualified_sql_name (table_in)
      || ' order by name';
   RETURN l_cv;
END plch_get_names;

(D)

BEGIN
   OPEN l_cv FOR 'select name from :table_name order by name' USING table_in;
   RETURN l_cv;
END plch_get_names;

答案說(shuō)明在209樓

2011-12-01答案AC.
DBMS_ASSERT.SIMPLE_SQL_NAME檢查一個(gè)名字是否為SQL中可用的簡(jiǎn)單名字:
  名字必須以字母開(kāi)頭,隨后可跟隨數(shù)字、字母或_, $, # 字符;
  允許帶雙引號(hào),雙引號(hào)之間可以是任意字符;
  假如雙引號(hào)之內(nèi)的名字本身就帶有雙引號(hào),那么必須重復(fù)雙引號(hào)兩次來(lái)表示;
  輸入?yún)?shù)如果前后帶有空格被忽略。
  名字的長(zhǎng)度沒(méi)有被檢測(cè)。
DBMS_ASSERT.qualified_sql_name則更寬松一些,允許帶.(小數(shù)點(diǎn),比如用在記錄成員、PACKAGE里面的函數(shù)、SCHEMA OWNER等)和@ (用在DBLINK)
答案B: simple_sql_name是函數(shù)不是存儲(chǔ)過(guò)程,必須將返回值賦給變量。
答案D: 表名不可以用綁定變量。

當(dāng)前名稱:2011-12-01SQL注入的防備-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.xueling.net.cn/article/jdhji.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 99久久国产露脸精品竹菊传媒 | 日本字幕在线观看 | 国产va免费精品高清在线 | 18禁无遮挡无码国产免费网站 | 国产欧美久久久精品影院 | jizzjizz日本护士视频 | 日韩人妻熟女中文字幕 | 影音先锋中文字幕亚洲资源站 | 一二三四视频免费社区5 | japan白嫩丰满人妻videoshd | 蜜桃亚洲 | 天天干天天草天天 | 久久久久免费看 | 亚洲人精品亚洲人成在线 | 麻豆国产VA免费精品高清在线 | 日韩中文字幕在线观看 | 激情国产一区 | 国产欧美日韩二区 | 开心亚洲五月丁香五月 | 久久高清亚洲 | 激情欧美一区二区 | 成年人黄色在线观看 | 亚洲精品国产精品成人不卡 | 欧美级毛片 | 亚洲精品尤物av在线观看任我爽 | 欧美亚洲一区二区在线观看 | 狠狠插天天干 | 久夜蜜汁av玖潮碰撩尤物 | 中国毛片一级片 | 三级aa毛片| 国产强奷在线播放免费不卡 | 一边吃奶一边摸做爽视频 | 真人女人一级毛片免费播放 | 日本成片 | 国产熟妇的荡欲午夜视频 | 国产无遮挡又黄又爽高潮 | 亚洲国产欧美国产综合一区 | 亚洲人成伊人成综合网76 | 精品亚洲国产专区在线观看 | 在阳台上玩弄人妻的乳球 | 丰满少妇又爽又紧又丰满在线观看 |