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ù)是否安全。
$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ù)庫看看,如下圖:

如果再重新查詢這個(gè)表的字段出來,不做過濾帶入另一個(gè)SQL語句,將會造成2次注入.
三、 總結(jié)
盡量不要使用這函數(shù),如果要使用這個(gè)函數(shù),建議使用規(guī)范的sql語句,條件加入單引號,這樣16進(jìn)制0x31206f722031就會在數(shù)據(jù)庫里顯示出來。而不會出現(xiàn)1 or 1。
相關(guān)文章
JS實(shí)現(xiàn)網(wǎng)頁每隔3秒彈出一次對話框的方法
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁每隔3秒彈出一次對話框的方法,涉及JavaScript結(jié)合時(shí)間函數(shù)遞歸調(diào)用的相關(guān)技巧,非常簡單,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Sample script that displays all of the users in a given SQL
Sample script that displays all of the users in a given SQL Server DB...2007-06-06JavaScript使用鏈?zhǔn)椒椒ǚ庋bjQuery中CSS()方法示例
這篇文章主要介紹了JavaScript使用鏈?zhǔn)椒椒ǚ庋bjQuery中CSS()方法,結(jié)合具體實(shí)例形式分析了JS采用鏈?zhǔn)讲僮鞣椒ǚ庾Query中連綴操作實(shí)現(xiàn)css()方法的相關(guān)技巧,需要的朋友可以參考下2017-04-04JavaScript數(shù)組,JSON對象實(shí)現(xiàn)動(dòng)態(tài)添加、修改、刪除功能示例
這篇文章主要介紹了JavaScript數(shù)組,JSON對象實(shí)現(xiàn)動(dòng)態(tài)添加、修改、刪除功能,結(jié)合實(shí)例形式分析了JavaScript針對json數(shù)組的添加、刪除、修改操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05微信小程序使用wx.request請求服務(wù)器json數(shù)據(jù)并渲染到頁面操作示例
這篇文章主要介紹了微信小程序使用wx.request請求服務(wù)器json數(shù)據(jù)并渲染到頁面操作,結(jié)合實(shí)例形式分析了微信小程序使用wx.request發(fā)送網(wǎng)絡(luò)請求及返回結(jié)果渲染到wxml界面相關(guān)操作技巧,需要的朋友可以參考下2019-03-03JS數(shù)組排序技巧匯總(冒泡、sort、快速、希爾等排序)
這篇文章主要介紹了JS數(shù)組排序技巧,實(shí)例匯總了JavaScript冒泡排序、sort排序、快速排序、希爾排序等,并附帶分析了sort排序的相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-11-11解決bootstrap中下拉菜單點(diǎn)擊后不關(guān)閉的問題
今天小編就為大家分享一篇解決bootstrap中下拉菜單點(diǎn)擊后不關(guān)閉的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08webpack5搭建一個(gè)簡易的react腳手架項(xiàng)目實(shí)踐
本文文章主要介紹了webpack5搭建一個(gè)簡易的react腳手架項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05一文總結(jié)JavaScript中常見的設(shè)計(jì)模式
在程序設(shè)計(jì)中有很多實(shí)用的設(shè)計(jì)模式,而其中大部分語言的實(shí)現(xiàn)都是基于“類”。在程序設(shè)計(jì)中有很多實(shí)用的設(shè)計(jì)模式,而其中大部分語言的實(shí)現(xiàn)都是基于“類”。,本文將總結(jié)了JavaScript中常見的十五種設(shè)計(jì)模式,感興趣的朋友可以參考下2023-05-05