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

首頁 > 語言 > JavaScript > 正文

php is_numberic函數(shù)造成的SQL注入漏洞

2024-05-06 16:02:38
字體:
供稿:網(wǎng)友
這篇文章主要介紹了php is_numberic函數(shù)造成的SQL注入漏洞和解決辦法,需要的朋友可以參考下

一、is_numberic函數(shù)簡介
國內(nèi)一部分CMS程序里面有用到過is_numberic函數(shù),我們先看看這個(gè)函數(shù)的結(jié)構(gòu)
bool is_numeric (mixed $var)
如果 var 是數(shù)字和數(shù)字字符串則返回 TRUE,否則返回 FALSE。
二、函數(shù)是否安全
接下來我們來看個(gè)例子,說明這個(gè)函數(shù)是否安全。

復(fù)制代碼 代碼如下:

$s = is_numeric($_GET['s'])?$_GET['s']:0;
$sql="insert into test(type)values($s);";  //是 values($s) 不是values('$s')
mysql_query($sql);


上面這個(gè)片段程序是判斷參數(shù)s是否為數(shù)字,是則返回?cái)?shù)字,不是則返回0,然后帶入數(shù)據(jù)庫查詢。(這樣就構(gòu)造不了sql語句)
我們把‘1 or 1' 轉(zhuǎn)換為16進(jìn)制 0x31206f722031 為s參數(shù)的值
程序運(yùn)行后,我們查詢數(shù)據(jù)庫看看,如下圖:

php is_numberic函數(shù)造成的SQL注入漏洞


如果再重新查詢這個(gè)表的字段出來,不做過濾帶入另一個(gè)SQL語句,將會(huì)造成2次注入.
三、 總結(jié)
盡量不要使用這函數(shù),如果要使用這個(gè)函數(shù),建議使用規(guī)范的sql語句,條件加入單引號(hào),這樣16進(jìn)制0x31206f722031就會(huì)在數(shù)據(jù)庫里顯示出來。而不會(huì)出現(xiàn)1 or 1。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 称多县| 永济市| 林甸县| 平原县| 湘潭县| 涿州市| 庄浪县| 湖北省| 洮南市| 荥经县| 秦皇岛市| 惠来县| 永顺县| 邳州市| 光泽县| 即墨市| 姜堰市| 麻城市| 景泰县| 北安市| 陵川县| 柯坪县| 内黄县| 冀州市| 梧州市| 长白| 沅江市| 包头市| 会泽县| 新巴尔虎左旗| 博客| 容城县| 肇东市| 丰台区| 海门市| 海城市| 阳朔县| 和平区| 柘荣县| 丹寨县| 大兴区|