jspÖзÀÖ¹sql×¢ÈëµÄһЩ»ù±¾Ô¤·À´ëÊ©
Ò»¡¢É¶ÊÇsql×¢Èë
Ëùνsql×¢Èë¼òµ¥Ëµ¾ÍÊDZ»ÈË×êÁËSQLµÄ¿Õ×ÓÏÂÃæ¾Ù¸ö×î¼òµ¥µÄÀý×Ó¡£
sql Ϊ£º"select * from users where username='"+userName+"' and password='"+password+"' "
1¡¢¹¥»÷ÕßÖ»ÒªÔÚ´«ÈëµÄuserName¼ÓÉÏ'--ÉÏÃæµÄsql±ã½«username='"+userName+"' ºóÃæµÄÌõ¼þÈ«²¿×¢Ê͵ô¡£Ö±½ÓÑé֤ͨ¹ý¡£
2¡¢ÉõÖÁ¹¥»÷ÕßÖ»Òª´«Èë ' or 1=1 -- µÀÀíÒ²ÊÇÒ»ÑùµÄ¡£
3¡¢sql×¢ÈëÔÀíÍÆ¼ö¸öÎÄÕ£¬ÀïÃæÓнéÉÜ¡£http://www.nosec.org/2009/0918/59.html
¶þ¡¢½â¾ö·½·¨£º ¹ýÂ˵ôÓû§ÊäÈëÖеÄΣÏÕ×Ö·û
1¡¢µÚÒ»ÖÖ²ÉÓÃÔ¤±àÒëÓï¾ä¼¯£¬ËüÄÚÖÃÁË´¦ÀíSQL×¢ÈëµÄÄÜÁ¦£¬Ö»ÒªÊ¹ÓÃËüµÄsetString·½·¨´«Öµ¼´¿É£º
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = preState.executeQuery();
2¡¢½«´«ÈëµÄ×Ö·û´®×ö¹ýÂË.replaceAll(".*([';]+|(--)+).*", " ");
3¡¢jsÑéÖ¤£ºÍ¨¹ýjs¹ýÂ˵ô¿Í»§¶ËÌá½»ÉÏÀ´µÄ×Ö·û£¨ÏÖÔÚÈÆ¹ýjsÑéÖ¤µÄ·½·¨Ì«¶à²»½¨Òé²ÉÓã©
function IsValid( oField ){
re= /select|update|delete|exec|count|'|"|=|;|>|<|%/i;
$sMsg = "ÇëÄú²»ÒªÔÚ²ÎÊýÖÐÊäÈëÌØÊâ×Ö·ûºÍSQL¹Ø¼ü×Ö£¡"
if ( re.test(oField.value) )
{
alert( $sMsg );
oField.value = '';
oField.focus();
return false;
}
˵Ã÷:ÒÔÉÏÎÄÕ´󲿷ÖÀ´²Î¿¼ÍøÂç×ÊÁÏ¡£ÕûÀíºó·½±ã×Ô¼ºµÄ²éÔĺÍѧϰ¡£
Ïà¹ØÎĵµ£º
¡¡ Ö¢×´
¡¡¡¡µ±Äú½«Êý¾Ý¿â±¸·Ý»Ö¸´µ½Áíһ̨·þÎñÆ÷ʱ£¬¿ÉÄÜ»áÓöµ½¹ÂÁ¢Óû§µÄÎÊÌâ¡£SQL Server Áª»ú´ÔÊéÖеĹÂÁ¢Óû§ÒÉÄѽâ´ðÖ÷ÌâÖÐûÓн²Êö½â¾ö´ËÎÊÌâµÄ¾ßÌå²½Öè¡£
¡¡¡¡±¾ÎĽéÉÜÁËÈçºÎ½â¾ö¹ÂÁ¢Óû§ÎÊÌâ¡£
¡¡¡¡×´Ì¬
¡¡¡¡Microsoft ÒѾȷÈÏÕâÊÇÔÚ±¾ÎÄ¿ªÍ·ÁгöµÄ Microsoft ²úÆ·ÖдæÔÚµÄÎÊÌâ¡£
¡¡¡¡¸ü¶àÐÅÏ ......
Ô¶³ÌÁ´½Ó·þÎñÆ÷ÏêϸÅäÖÃ
--
½¨Á¢Á¬½Ó·þÎñÆ÷
EXEC
sp_addlinkedserver
'
Ô¶³Ì·þÎñÆ÷IP
'
,
'
SQL Server
'
--
±ê×¢´æ´¢
EXEC
sp_addlinkedserver
@server
=
'
server
'
,
--
Á´½Ó·þÎñÆ÷µÄ±¾µØÃû³Æ¡£Ò²ÔÊÐíʹÓÃʵÀýÃû³Æ£¬ÀýÈçMYSERVER\SQL1
@srvproduct
=
'
product_name
......
ÔÚÈí¼þ¿ª·¢ÖУ¬³£³£ÐèҪΪ³ÌÐò½¨Á¢Sql ServerÊý¾Ý¿âµÄÔËÐл·¾³¡£Íê³ÉÈçÔÚSQL ServerÊý¾Ý¿âÖн¨Á¢É豸£¬½¨Á¢Êý¾Ý¿â£¬½¨Á¢±í¸ñ£¬·ÖÅäȨÏ޵ȹ¦ÄÜ£¬ÈçºÎ·½±ãµÄ½¨Á¢Ó¦ÓóÌÐòËùÐèSql Server»·¾³µÄÊý¾Ý¿â»·¾³£¬¶ø²»ÓÃÆô¶¯SQL Enterprise ManagerÄØ£¿
ÏÂÃæÀ´¿´£º
¡¡¡¡Æô¶¯VB6.0£¬Ð½¨Ò»¸ö¹¤ ......
ÏîÄ¿±³¾°
ÒÆÖ²Ò»¸öÏÖÓÐϵͳµ½Oracle¡£Ôϵͳ»ùÓÚ.Net Framework 1.1, SQL Server 2000Êý¾Ý¿â£¬Êý¾Ý²Ù×÷»ù±¾È«²¿Ê¹ÓÃStore Procedure£¬×ÜÊýÓâǧ£¬Òò´Ë×ÜÌåÉæ¼°µÄPL SQL ¿ª·¢Á¿±È½Ï´ó¡£
ÓÅÏȼ¶¸ß£¬¿ª·¢Ê±³Ì¶Ì£ ......
mdfÎļþµÄÆäËû˵Ã÷£º¡¡¡¡ÔÚ΢ÈíµÄSQL Server 2000 Êý¾Ý¿âÓÐÈýÖÖÀàÐ͵ÄÎļþ£º
¡¡¡¡Ö÷ÒªÊý¾ÝÎļþ£¨À©Õ¹Ãû.mdfÊÇ primary data file µÄËõд£©
¡¡¡¡Ö÷ÒªÊý¾ÝÎļþ°üº¬Êý¾Ý¿âµÄÆô¶¯ÐÅÏ¢£¬²¢Ö¸ÏòÊý¾Ý¿âÖÐµÄÆäËûÎļþ¡£Óû§Êý¾ÝºÍ¶ÔÏó¿É´æ´¢ÔÚ´ËÎļþÖУ¬Ò²¿ÉÒÔ´æ´¢ÔÚ´ÎÒªÊý¾ÝÎļþÖС£Ã¿¸öÊý¾Ý¿âÓÐÒ»¸öÖ÷ÒªÊý¾ÝÎļþ¡£Ö÷ÒªÊý¾ÝÎļþµÄ ......