网站首页  注册会员  本站免费电影 留言板  繁體中文

 

您现在的位置: 陈鹏个人网站 >> 电脑应用 >> 网络应用 >> 网络安全 >> 正文
 

|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸婂潡鏌ㄩ弴妤€浜惧銈庝簻閸熸潙鐣疯ぐ鎺濇晪闁告侗鍨伴弫鎼佹⒒娓氣偓閳ь剛鍋涢懟顖涙櫠閹殿喚纾奸弶鍫涘妼濞搭喗顨ラ悙瀛樺磳妤犵偞甯掗埞鎴﹀醇濠靛洤鈧垶姊虹拠鍙夊攭妞ゎ偄顦叅婵☆垳鍘ч崹婵嬫煙閹规劦鍤欑紒鐘叉贡閹叉悂鎮ч崼婵呭垔闂佽桨绀侀崯鎾蓟閵娿儮鏀介柛鈩兠▍锝嗙節绾版ê澧插┑鐐诧工椤繒绱掑Ο璇差€撻梺鍛婄☉閿曘儵宕曢幘缁樷拺闁告縿鍎卞▍蹇涙煕鐎n亷宸ラ柣锝囧厴楠炲洭顢涘Ο瑙勭潖闂備礁婀遍崕銈夊垂閼稿灚缍囬柛顐犲劜椤ュ﹥銇勯幇鈺佺仾濠㈣泛瀚伴弻鐔割槹鎼淬垹娈岄梺瀹犳椤﹀灚鎱ㄩ埀顒勬煃閳轰礁鏆為柣婵囧▕濮婄粯鎷呴搹骞库偓濠囨煕閹惧绠為柟顔惧厴婵$兘鍩℃担鍝勫箞闁诲骸鍘滈崑鎾绘煕閺囥劌鍘撮柟閿嬫そ濮婂宕掑鍗烆杸缂備礁顑嗙敮锟犲极瀹ュ绫嶉柛顐ゅ枔閸樼敻姊洪崨濠傜仧闁稿﹥鐗滈埀顒佺啲閹凤拷
|
缂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸ゅ嫰鏌涢锝嗙闁诡垳鍋ら獮鏍庨鈧俊濂告煟椤撶噥娈滄鐐寸墪鑿愭い鎺嗗亾濠德ゅ亹缁辨帡鍩€椤掑嫬纾兼繛鎴炴皑椤旀洟姊洪悷閭﹀殶闁稿﹥鍨甸~婵堟崉閸濆嫬娈ら梺鐟板悑閻n亪宕濆澶嬪亗闊洦绋撻崣鎾绘煕閵夘喚浜介柛顐犲劚绾惧鏌熼幆褏锛嶉柡鍡畵閺屾盯濡烽姀鈩冪彇閻庤鎸风欢姘潖婵犳艾纾兼繛鍡樺焾濡差噣姊哄Ч鍥р偓鏇灻洪妶澶堚偓鍛附缁嬭鈺呮煃閸濆嫬鈧ǹ鈻撻幋锔解拺闁告挻褰冩禍婵囩箾閸欏澧电€规洖缍婂畷鎺楁倷鐎电ǹ寮抽梻浣虹帛濞叉牠宕愰崷顓涘亾濮樼偓瀚�
|
婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾剧粯绻涢幋娆忕仾闁稿鍊濋弻鏇熺箾瑜嶉幊搴ㄥ汲濡ゅ懏鈷戠紒瀣硶閻忛亶鏌涚€n偆銆掔紒顔肩墦瀹曟﹢顢欓悾灞藉笚闂備礁鎲$换鍌溾偓姘煎墴閸┾偓妞ゆ帊鐒﹂崐鎰偓瑙勬礃缁捇銆佸Δ鍛妞ゆ垼濮ょ€氬ジ姊洪懡銈呅㈡繛娴嬫櫇娴滅ǹ鈻庨幘宕囶槱闂侀潻瀵岄崢鍓у婵傚憡鐓犵痪鏉垮船婢т即鎮介娑氥€掔紒杈ㄥ浮瀵噣宕掑顓犱邯闁诲氦顫夊ú鏍Χ閸涘﹣绻嗛柣鎴f鍞悷婊冪箰閻g兘宕奸弴鐔叉嫽婵炶揪缍€婵倗娑甸崼鏇熺厱闁挎繂绻掗悾鍨殽閻愯尙绠婚柡浣规崌閺佹捇鏁撻敓锟�
|
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇氱秴闁搞儺鍓氶悞鑲┾偓骞垮劚閹虫劙鏁嶉悢鍏尖拺闁革富鍘奸。鍏肩節閵忊槄鑰跨€规洖缍婂畷鎺戔槈閺嶏妇鐩庨梻浣告惈缁夋煡宕濆畝鍕€跨憸鐗堝笚閻撴盯鎮楅敐搴濋偗闁告瑥瀚伴弻锛勪沪閻愵剛顦紓浣哄У缁嬫帞鎹㈠┑瀣闁靛⿵濡囪ぐ鎾⒒閸屾瑨鍏岄弸顏呫亜閹存繃顥㈡鐐村姍楠炴牗鎷呴崫銉ュ绩濠电姰鍨煎▔娑㈡晝閿曞倸姹查柨鏇炲€归悡鏇㈡煏婢跺牆鐏繛鍛缁绘盯宕奸悢鎼炰虎濠殿喖锕ㄥ▍锝夊箯閻樿绠甸柟鐑樼箓婵$兘姊绘担铏瑰笡婵☆偄绻樺畷婊堟偄閼测晛绁﹂棅顐㈡处缁嬫帡寮查幖浣圭叆闁绘洖鍊圭€氾拷
|
缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲梺姹囧€ら崰妤呭Φ閸曨垰鍐€妞ゆ劦婢€缁爼姊洪幖鐐插闁稿﹤娼″璇测槈閵忊剝娅嗛柣鐘叉处瑜板啰绮昏ぐ鎺撯拺闁硅偐鍋涙俊鐣岀磼鐠囪尙澧︾€殿喖顭锋俊鍫曞炊閳哄啰鍘梺鑽ゅУ娴滀粙宕濈€n剙鍨濋柣銏犳啞閳锋垹绱掔€n偄顕滈柟鐧哥秮閺屾盯鎮╁畷鍥р拰閻庢鍠栭…鐑藉极閹剧粯鍋愰柤纰卞墻濡蹭即姊绘笟鈧ḿ褎鐏欓梺绋垮瘨閸o絽鐣烽幋锕€绠绘鐐层仒濮规姊洪崷顓炲妺闁搞劏鍩栧ḿ蹇涘醇閵夛腹鎷洪柣鐘充航閸斿苯鈻嶉幇鐗堢厵闁告垯鍊栫€氾拷
|
IT闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫇闁逞屽墰婢规洝銇愰幒鎾跺幗闂佺鎻徊楣兯夋径宀€妫い鎾寸☉娴滈箖姊婚崒娆戭槮闁硅绻濆畷婵嬪即閻愬秶鍠愮换婵嬪磼濡嘲浜鹃柟鐑樻尵缁♀偓濠殿喗锕╅崢楣冨矗閸℃稒鈷戠紓浣股戠粈鈧梺绋匡工濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹
|
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗ù锝夋交閼板潡姊洪鈧粔鎾磼閵娧勫枑闁哄啫鐗嗙粻鏍ㄧ箾瀹割喕绨婚幆鐔兼⒑闂堟侗妯堥柛鐘愁殘缁辩偞鎯旈姀銏㈢槇闂佹眹鍨藉ḿ褎鐗庨梻浣哄帶缂嶅﹦绮婚弽褜鍤曢柛娑橈功閻熷綊鏌嶈閸撶喎顕f繝姘嵆闁靛繒濞€閸炶泛鈹戦悩鑼粵闁告梹鐗滈悷褏绱撻崒姘偓鐑芥嚄閼搁潧鍨旀い鎾卞灩闂傤垶鏌ㄥ┑鍡╂Ц闁藉啰鍠撻埀顒€绠嶉崕閬嶆偋濠婂喚鐎堕柕濞炬櫆閳锋垿鏌涘☉姗堟敾閻忓繋鍗抽弻锝夋偄閸欏鐝氶梺闈涙缁€渚€鍩㈡惔銊ョ闁哄啫鍊瑰鎴炵節閻㈤潧浠﹂柛銊ョ埣閹兘鏁冮埀顒勫煝瀹ュ顫呴柕鍫濇閹锋椽鏌i悩鍏呰埅闁告柨鑻埢宥夊箛閻楀牏鍘甸梺鍛婂灟閸婃牜鈧熬鎷�
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柣鎴eГ閸婂潡鏌ㄩ弴妤€浜惧銈庝簻閸熸潙鐣疯ぐ鎺濇晪闁告侗鍨伴弫鎼佹⒒娓氣偓閳ь剛鍋涢懟顖涙櫠閹殿喚纾奸弶鍫涘妼濞搭喗顨ラ悙瀛樺磳妤犵偞甯掗埞鎴﹀醇濠靛洤鈧垶姊虹拠鍙夊攭妞ゎ偄顦叅婵☆垳鍘ч崹婵堚偓鍏夊亾闁告洦鍓欐禒濂告⒑缂佹ê鐏辨俊顐㈠閹瑦绻濋崶銊у帗闂佸憡绻傜€氼剟寮搁敂鍓х<閺夊牜鍋勯惃铏圭磼鏉堛劍宕岀€规洘甯掗~婵嬵敄閽樺澹曢梺褰掓?閻掞箓宕戠€n喚鍙撻柛銉e妽閳锋劙鏌涘▎蹇曠闁哄矉缍佹慨鈧柍鎯版硾缂嶅﹪骞嗙仦杞挎棃宕ㄩ鎯у汲闂備胶绮ú鏍磹閸︻厸鍋撳鐐
|
闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊瑜忛弳锕傛煟閵忊懚鍦玻濡ゅ懏鐓欓柟娈垮枛椤eジ鏌涚€e墎绡€闁哄本娲樺鍕醇濠靛棗顥欐繝鐢靛仦閸ㄦ儼褰滈梺琛″亾濞寸姴顑嗛崐鐢告煥濠靛棗鏆欏┑锛勫厴閺屾稓鈧綆鍋呭畷宀€鈧娲樼敮锟犲箖濞嗘挸钃熼柕澶堝劜閺嗩亪姊婚崒娆戭槮闁圭⒈鍋勭叅闁靛ň鏅涚壕濠氭煟閹邦喖鍔嬮柛濠傜仛閵囧嫰骞掗崱妞惧闂備礁鐤囬~澶愬垂閸ф绠栨繛鍡樻尭閻顭块懜鐬垿鏁嶆笟鈧缁樻媴鐟欏嫬浠╅梺鍛婃煥闁帮絽鐣锋导鏉戝唨鐟滄粓宕甸弴鐐╂斀闁绘ê纾。鏌ユ煛閸涱喗鍊愰柡灞诲姂閹倝宕掑☉姗嗕紦
|
   
专 题 栏 目
 濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌熼梻瀵割槮缁惧墽绮换娑㈠箣閻愬灚鍣х紓浣稿閸嬨倝寮诲☉銏犖ㄦい鏃傚帶椤晝绱撴担鎻掍壕闂佸壊鍋嗛崰鎾跺姬閳ь剟姊婚崒姘卞缂佸甯¢弫宥夊籍閸喓鍘鹃梺鍝勵槼濞夋洘绂掗姀銈嗩梿濠㈣埖鍔栭悡銉︾節闂堟稒顥為柛锝嗘そ閹綊骞囬妸銉モ拤闂侀潧娲ょ€氫即宕洪敓鐘茬闁靛ǹ鍎辩粻锝夋⒒娴g瓔鍤冮柛鐘崇洴閿濈偞寰勯幇顒傤唵闂佸憡绋掑ḿ娆愬閻樼粯鐓忓鑸得悘锝囩磼閳ь剚绻濋崟顓狅紳闂佺ǹ鏈悷褔藝閿斿浜滈柨鏃囶嚙閻忥箓鏌熼鐭亪鍩為幋鐘亾閿濆簼绨介柛娆屽亾婵犵數濮伴崹濂稿春閺嶎厼绀夐柡鍥╁Х娑撳秴鈹戦悩宕囶暡闁稿﹤鐏氱换娑㈠箣閻戝棔鐥銈呯箰濡藟濮樿埖鐓曢柟閭﹀墯閳绘洘绻涢幘鎰佺吋闁哄本娲熷畷鐓庘攽閸埄鍞洪梺璇茬凹缁插宕戦幇顔筋潟闁圭儤顨忛弫濠囨煟閿濆懏婀伴柛锛卞喚娓婚柕鍫濇缁岃法绱撳鍕槮闁伙絿鍏橀獮鍥偋閸繀绨婚梻浣瑰劤缁绘锝炴径濠庣唵闁硅揪闄勯埛鎺懨归敐鍛暈闁诡垰鐗婄换娑氫沪閸屾艾顫囬悗瑙勬磻閸楁娊鐛Ο鑲╃<婵☆垵妗ㄧ划褔姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷
相 关 文 章

解决QQ空间显示脚本错误
恶搞之QQ跨站脚本漏洞
从代码和图片以及脚本角
十二问让你全面了解跨站
跨站脚本攻击的危害及co
让你全面了解跨站脚本攻
SQL注入技术和跨站脚本攻
8.6毒报:屏保伪装脚本供
SQL脚本注入的不常见方法
谈谈跨站脚本攻击与防御

 
用脚本类IDS抵御针对WEB的攻击           
用脚本类IDS抵御针对WEB的攻击
作者:陈鹏 文章来源:eNet 点击数:121 更新时间:2009-9-11 23:34:31
 




 

IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。传统的IDS是一个监听设备,这个设备通过网络链路挂接在服务器和客户端所有流量都必须流经的链路上,IDS就是通过特有IDS规则匹配黑客恶意攻击入侵行为的流量,进行即时的监测和报警。

在历年来开源的Web程序中,被披露最多最严重的安全漏洞一直是SQL注射,为了减少SQL注射漏洞对各大网站造成的安全威胁,Web安全研究组织80SEC在2008年编写了国内第一个脚本类IDS - MysqlIds,使用MysqlIds可以更好的、更有效率的帮助网站管理员和程序员抵御和检测SQL注射漏洞。

现在流行的技术大部分是旁路监听,一般不会因为IDS的性能影响网站正常的访问流量,而Mysqlids也是按照类似的思路同样不会影响程序的性能。Mysqlids存在于应用程序和数据库操作之间的一个环节,完全以数据库的语法来分析执行的SQL语句,而不是采用传统的关键字检测的方法,对于一些非正常的SQL语句能进行阻止并且记录相关的信息,这样就可以很快地定位程序中存在注射漏洞的地方,为漏洞的及时修复提供必要的信息。

MysqlIds原理

MysqlIds是由PHP编写的,通过一个封装的安全函数,监测程序中运行的SQL查询语句,针对黑客经常使用的union查询、select子查询、不常用的SQL注释符、文件操作和benchmark等危险函数行为进行报警,这个IDS是无缝封装在程序里的数据库操作流程里的,也就是黑客通过程序漏洞进行恶意的SQL注射都能被非常详细的监测到,程序员或者网站站长甚至能使用IDS发现自己网站程序中未被察觉的0DAY漏洞。下面我就分析MysqlIds的部分代码,使大家可以从原理上更容易的理解MysqlIds,我们看看MysqlIds如何监测黑客SQL注入经常使用的恶意的联合查询。部分代码如下:

if (strpos($clean, 'union') !== false && preg_match('~(^ [^a-z])union($ [^[a-z])~s', $clean) != 0){
$fail = true;
$error="union detect";
}

MysqlIds使用了PHP中strpos函数来判断程序执行的SQL语句是否存在恶意的SQL注射,这个函数可以高效率的查找指定字符串返回一个布尔值,当程序执行SQL语句中使用联合查询,规则条件就开始生效,启用preg_match函数调用IDS规则来匹配恶意的联合查询语句,这个IDS规则是精心构造的正则表达式,类似于大家使用的传统IDS规则,由于MysqlIds是在程序的数据库操作层来检测,所有能抓取到有效且实实在在的安全问题,且更有效更具有针对性。MysqlIds还针对程序运行的SQL语句出现的异常情况进行了监控,如SQL语句中出现异常的注释符,一般黑客进行SQL注射攻击,很多情况下需要注释符完成SQL注射攻击的SQL语句,同时黑客还有可能使用一些比较危险的MYSQL函数和功能,如sleep、benchmark、load_file和into outfile功能等,这些黑客在程序中使用SQL注射的恶意动作都能被MysqlIds监测到。

MysqlIds与传统Web安全防御措施的区别

传统的Web安全防御措施都非常滞后,在Web程序里未知的漏洞被攻击的情况下,管理员往往要排查很多东西才能找到问题的关键点,有的时候可能是使用的程序中存在一个未知的SQL注射漏洞被黑客利用,却无法确定黑客是如何攻击,而导致整个网站一而再,再而三的沦陷。合理地部署Mysqlids后,就可以帮助管理员第一时间准确的定位网站的Web程序漏洞,关键在于MysqlIds核心的日志功能,它能准确的将每次精确匹配报警后的信息存入日志,代码如下:

if (!empty($fail))
{

fputs(fopen($log_file,'a+'),"  $db_string  $error\r\n");
die("Hacking Detect
[url]http://www.80sec.com[/url]"); } else { return $db_string; } }

当程序的SQL语句被监测到恶意行为后,会打开相应条件语句里的fail开关,也就是触发监测后根据信息会留下一条精确的日志信息。管理员排查日志就能精确定位程序中的SQL注射漏洞。

如何部署MysqlIds

MysqlIds暂时只支持PHP+MYSQL架构的Web程序,作为开源程序和其原理的灵活性,大家可以很方便将MysqlIds和自己程序无缝结合。比如国内站长采用比较广泛的一款PHP建站程序DeDecms,在DeDecms历史版本中被披露过很多安全问题,其中SQL注射是其安全问题中危害最大也最多的问题。为了解决SQL注射问题,DedeCms在其发布的最新版中的数据库类中封装了80sec的Mysqlids,以用来抵御和检测Sql注射漏洞。我们可以参考DeDecms的MYSQL数据库类,将MysqlIds部署在程序中:

\include\dedesql.class.php

DeDecms的MYSQL数据库类161行的ExecuteNoneQuery函数封装了MysqlIds,程序运行的SQL语句在进入MYSQL查询之前都会使用MysqlIds的CheckSql函数处理。

if($this->safeCheck) CheckSql($this->queryString,'update');
return mysql_query($this->queryString,$this->linkID);

脚本类IDS展望

近年来大家对安全越来越重视,Web程序的开发也越来越多的考虑程序的安全性,脚本类IDS作为一种花销很小当最有效的安全措施值得大力推广,也许以后的WEB程序在开发之初就会将这类脚本IDS的概念设计在自己的程序中,那么大家只需要打开程序中的一个设置开关就能被实时保护,并能最准确的定位安全问题。目前MysqlIds在80SEC的官方网站上仍然是1.0版,希望他们以后能提供功能更强大脚本IDS,同时感谢80SEC给我们带来的全新WEB安全概念。

文章录入:陈鹏    责任编辑:陈鹏 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     
     

    Copyright © 2007 - 2009 chenpeng123.com All Rights Reserved
    本站所有文章,软件等均来自网络收集,不代表本站观点,仅供学习和研究使用。如有侵犯您的版权,请联系我们,本站将立即删除。
    鲁ICP备07014697号
    你是本站第 位访客
    51La