Database exploit(мэдээллийн сан ашиглах) засварлах

Өгөгдлийн сан(Database) гэдэг нь өгөгдлийг удирдах зохион байгуулах ашиглахад хялбар байхаар зориулагдсан өгөгдлийн цуглуулга бөгөөд өөр хоорондоо харилцан холбоотой өгөгдлийн цуглуулга юм. Уялдаа холбоогүй мэдээлэл өгөгдлийн сан болж чадахгүй. Өгөгдлийн сан нь олон хэрэглэгчийг хүссэн мэдээллээр хангах зорилготой өгөгдлийн цогц иж бүрдэл юм.


Мэдээлэл гэдэг зүйл хэмжээ хязгааргүй. Түүн дотроос тухайн үед өөрт хэрэгцээтэй байгаа мэдээллийг зөв шүүж авна гэдэг шинэ эрийн зууны чухал субъектив байх боллоо. Энэ утгаараа мэдээллийн үйлчилгээ үзүүлж буй газруудын хамгийн чухал зүйл бол мэдээллийн сан байдаг. Тухайн үйлчлүүлэгчийн хүсэлтэд тохирох мэдээлэл тэнд байх ёстой учираас өөрийн үйлчилгээ, зорилгод нийцүүлэн мэдээллийн сангаа системчилж, баяжуулж, хайхад илүү хурдан, юу ч хайсан олдохоор их мэдээлэлтэй, уян хатан гэх мэт хүчин зүйлсийг тусган зохион байгуулдаг. Энэ бол яг л номын сан гэдэг шиг мэдээллийн сан юм.

Вэб сайт, компьютерийн програм гэх мэт зүйлс ч мэдээллийн үйлчилгээ үзүүлэгч ангилалд орно. Тиймээс ихэнх цахим аппликэйшн, програм хангамжуудад database буюу өгөгдлийн сан гэсэн чухал ойлголт бий. Энэ нь дээр хэлсэнчлэн мэдээллийн сан юм. Өгөгдлийн санг үүсгэх SQL бичиглэл:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

   [create_specification] ...

create_specification:

   [DEFAULT] CHARACTER SET [=] charset_name
 | [DEFAULT] COLLATE [=] collation_name


Өгөгдлийн сангийн төрлүүд: засварлах

- Үйл ажиллагааны өгөгдлийн сан - Хувиарлагдсан өгөгдлийн сан - Гадаад өгөгдлийн сан - Гипер медиа өгөгдлийн сан - Өгөгдлийн агуулах гэсэн үндсэн төрлүүдтэй.

Өгөгдлийн сангийн бүтэц засварлах

zurag1 Компани олон төсөл хэрэгжүүлдэг. Төсөл бүр өөр өөр ажилтантай бол өгөгдлийн сангийн бүтцийг дараах байдлаар үүсгэнэ. Өгөгдлийг мод хэлбэрээр доод түвшний бичлэг нь дээд түвшний бичлэгээс салаалсан байдлаар загварчилсан өгөгдлийн сан юм. Энэ нь өөрөөр хэлбэл өгөгдлийн сангийн бүтцүүдийн анхдагч болж байгаа юм. Шаталсан бүтэц нь дараах онцлогтой: - Мод бүр үндсэн нэг үндэстэй байна. - Аль нэг элемэнт нь өөрт харьяалагдах хэдэн ч элемэнттэй байж болох ба элемэнт зөвхөн нэг байна. Zurag 2 Сүлжээ бүтэц: бодит ертөнцийн 2 объектйн хооронд орших олноос олон гэсэн харьцаатай өгөгдлийг загварчилдаг. Энэ харьцааг 2 өгөгдлийн цуглуулгаар дүрсэлдэггүй тэдгээрийн хоорондын харьцаатай хамтран дүрсэлдэг. Сүлжээ бүтэц дараах онцлогтой: - Олноос олон руу чиглэсэн уялдаа холбоотой - Дурын элемэнт хэдэн ч өөр элемэнттэй холбоотой байж болно. Zurag 3 Холбоотс бүтэц: Өгөгдлүүд мөр,багана бүхий ялгаатай хүснэгтүүдэд хадгалагддаг. Түлхүүр талбар эсвэл нийтлэг өгөгдлөөрөө дамжуулан ялгаатай хүснэгтүүд холбогддог. - Хамгийн өргөн хэрэглэгддэг - Хүснэгтийн мөр бичлэгийг , багана талбарыг илэрхийлнэ. - Хэрэв 2 хүснэгт өгөгдлийн элемэнтийг дундаа ашиглаж байвал нэг хүснэгтийн өгөгдөл өөр

 хүснэгтийн өгөгдөлтэй холбогдож болно.

Давуу тал нь:

- Бүтэц нь заавал тодорхой байх албагүй 
- Өгөгдөл нэмэх,засвар хийхэд хялбар  

Сул тал нь:

- Хайлт хийхэд тун удаан
===Өгөгдлийн санг удирдах систем===

Өгөгдлийн санг үүсгэх,устгах,өөрчлөх боломжийг тодорхой хяналт хандалттайгаар олгодог програм хамгамжийг өгөгдлийн санг удирдах систем гэнэ. Өөрөөр хэлбэл, DBMS нь өгөгдлийн сан болон хэрэглэгчийн програм 2-ыг холбож өгч байдаг. Өгөгдлийн сангийн удирдлагууд системүүд нь дараах байгууламжуудаар хангагдана. DDL (Data definition Language) DML(Data Manipulation Language) Хэрэглэгчдэд DDL(Data definition Language) буюу өгөгдлийн санг тодорхойлох хэлийг ашиглан өгөгдлийн санг үүсгэх боломжийг олгож байдаг. DDL нь хэрэглэгчдэд өгөгдлийн төрөл болон бүтцийг тодорхойлон өгөгдлийн санд хадгалагдах өгөгдөлд тодорхой шаардлага тавих боломжуудаар хангадаг. DDL(Data definition Language)- н жишээ: Studenten(MatrNr, Name, StraBe, PLZ,Wohnort, Telefon, Email, SGID → Studiengang.SGID) CREATE TABLE Studenten { MatrNr VARCHAR (16) NOT NULL,

Өгөгдлийн сан юунд хэрэгтэй вэ? засварлах

Хэрэглэгч хөгжүүлэгч бүгд л мэдээ мэдээллийг өдөр бүр хүлээн авч байдаг. 

Энэ бүх мэдээллийг бид эмхэлж цэгцлэх шаардлага гардаг бөгөөд бид түүнийг өгөгдлийн баазад буюу database-д хадгалдаг. Мөн өгөглийн сан биш хуучин үед буюу хуучин үеийн системийн дутагдалтай тал бол хэтэрхий залхуутай,цаг их зарцуулдаг,мэдээллийн алдагдал физик халдлага их, мэдээллийн алдаа их байсан явдал юм. Өгөгдлийн сантай ажиллах буюу компьютертай ажилласны давуу тал: - Мэдээллийн бодитоор эзлэх хэмжээ бага - Мэдээллийг дундаа ашиглахад хялбар - Нэгдсэн нэг стандарт - Мэдээллийг алдаагүй байх магадлал өндөр - Мэдээллийн нууцлал хамгаалалт өндөр

DBMS гэж юу вэ? засварлах

DBMS гэдэг нь Database Management System гэсэн үгний товчлол бөгөөд өгөгдлийн санг удирдах бөгөөд зөвхөн DBMS-д л хүсэлтээ илэрхийлдэг.

Төвлөрсөн Database систем засварлах

Бүх мэдээллийг төвлөрсөн мэдээллийн санд хадгалдаг. Хэрэглэгч өөрийн хандах эрхийн дагуу уг Database-руу хандана.

SQL засварлах

Structured Query Language буюу товчоор SQL гэж тэмдэглээд ихэнхдээ сикуэл гэж дууддаг, гэвч монголчууд болон зарим үед жинхэнэ дуудлага болох /ˈɛs kjuː ˈɛl/ буюу эскуэл ч гэж дуудах нь бий. Энэ нь өгөгдлийн санг удирдахад ашигладаг нэгдсэн хэл ба маш энгийн буюу оруулах INSERT, авах SELECT, шинэчлэх UPDATE, устгах DELETE гэсэн үндсэн дөрөвхөн үйлдэл дээр өгөгдлийн санг тэр чигээр нь удирддаг. Нэг сурчихсан байхад ихэнх ӨСУС дээр чөлөөтэй ажиллаж чадах учир програмистуудын зайлшгүй гүнзгий мэдэж байх шаардлагатай зүйлсийн нэг. MySQL-д нэвтрэх shell>mysql -h <host> -u <username> -p <password> - Host холбогдох гэж буй серверийн нэр. - Username өгөгдлийн санд хандах хэрэглэгчийн нэр - Password өгөгдлийн санд хандах хэрэглэгчийн нууц үг


MySQL нь дээр дурьдсанчлан өгөгдлийн санг удирдах систем юм. Майсикуэл гэж дууддаг. Бусад ӨСУС-ээс ялгарах шинж нь RDBMS буюу хэлхэгдсэн хүснэгт хандалтад төрлийн FOSS буюу чөлөөт болон нээлттэй эх дээр GNU GPL лицензийн дагуу хөгжүүлэгддэг. Тиймээс олон олон нээлттэй эхийн програмчлалын хэлүүд, системүүдтэй нягт уялдан ажиллаж чаддаг. Жишээ нь вэбийн хамгийн энгийн хэл болох PHP-гээс авхуулаад асар олон нээлттэй эхийн програмууд болон худалдааны програмууд ч хүртэл энэ ӨСУС дээр ажилладаг.

Хүснэгт хандалтад хэмээх ойлголт нь өгөгдлийн санг ойлгоход ихэд дөхөм болгож өгдөг. Бүтцийг нь шат дараалан тайлбарлаваас хамгийн том буюу MySQL, DATABASE, TABLE, COLUMN, ROW болно. Эдгээрийг энгийнээр тайлбарлавал MySQL нь мэдээж тухайн систем дээр суусан програм маань, дотор нь маш олон DATABASE байх ба тус бүр нь ямар нэг програм, системд зориулсан нэгэн бүхэл зүйл байх юм. DATABASE нь олон TABLE буюу хүснэгтүүдээс бүрдэх ба хүснэгт нь багна буюу COLUMN, мөр буюу ROW гэсэн хоёр хэмжээст тэгш өнцөгт торон хэлбэртэй байна. COLUMN нь ерөнхийдөө тухайн хүснэгтийн өгөгдлүүдийн төрөл буюу тэмдэгт мөр, бүхэл тоо, огноо байхыг заахаас гадна дээд болон доод хязгаар, давхардаж болох эсэх, хоосон байж болох эсэх г.м. зүйлсийг агуулдаг бол ROW нь тухайн COLUMN-ий төрөлд харгалзах өгөгдлүүд байх юм.

MySQL Database засварлах

- show databases ;командаар бүх database-ээ хардаг. - мөн хүснэгт буюу table ашиглах ёстой бөгөөд яагаад хэрэгтэй гэвэл мэдээллийн зөв байдлыг тодорхойлоход keys, default value, indexes, Null values хэрэгтэй юм. - MySQL-н комманд болгон нь (;) - аар төгссөн байдаг.

Use <database _name >;  коммандаар database- ээ сонгодог.

Шинэ Database үүсгэх засварлах

- CREATE DATABASE

    <database_name >; коммандаар шинэ database үүсгэнэ.

- DROP DATABASE

    <database_name >;  коммандаар үүсгэсэн database-ээ устгана. 

CREATE DATABASE must-sict.temulunrdc

Хүснэгт үүсгэх засварлах

- CREATE TABLE <table_name> (<column_name><data_type>); коммандаар хүснэгт үүсгэнэ.

- DROP TABLE

; коммандаар үүсгэнсэн хүснэгтийг устгана. - Үүсгэсэн хүснэгтээ харахдаа show tables: коммандаар харна. CREATE TABLE student ( Student_id int primary key, Student_name varchar(255) not null ); Хүснэгтийн файлын төрөл tbl_name.frm – Хүснэгтийг тодорхойлсон файл tbl_name.MYD – Өгөгдлийн файл tbl_name.MYI – index файл Өгөгдлийн төрөл /Data type/ Char Varchar Text Int Smallint Float Bit Time Timestamp

Entity integrity засварлах

Entity Integrity нь өгөгдлийн дахин давтагдахгүй байх нөхцлийг бүрдүүлж байдаг. Үүнд primary key болон uniquie key ордог. Entity Integrity-г мөн Row Integrity гэдэг.

Referential Integrity засварлах

Referential Integrity нь хамааралтай хүснэгтүүдийн хоорондын холбоосын аюулгүй байдлыг хангаж байдаг. Ингэснээр бидз илүү нарийн уялдаатай мэдээллийг бүрдүүлэх боломжтой. Үүнд foreign key ордог. Анхдагч түлхүүр баганыг тодорхойлох /Primary key/ CREATE TABLE Table_name (<column_definition> PRIMARY KEY); Эсвэл CREATE TABLE Table_name (<column_definition>, PRIMARY KEY(Column_name [,Column_name]) ); Жишээ нь: CREATE TABLE Student (Student_id int PRIMARY KEY) Үүсгэсэн хүснэгтэнд primary key багана үүсгэх ALTER TABLE <table_name> ADD CONSTRAINT PRIMARY KEY (<column_name>[,<column_name>]); коммандаар үүсгэнэ. Жишээ нь: ALTER TABLE Student ADD CONSTRAINT PRIMARY KEY (student_id) AUTO_INCREMENT AUTO_INCREMENT нь бидэнд дахин давтагдахгүй баганыг үүсгэхэд тусалдаг. Бид шинэ мөр оруулах тутамд уг багана нь автоматаар дугаарлагдаж байдаг. Жишээ нь:

CREATE TABLE Student ( Student_id INT NOT NULL AUTO_INCREMENT, Studentname CHAR(30) NOT NULL, PRIMARY KEY(id) );

Холоос түлхүүр тодорхойлох/ FOREIGN KEY/

CREATE TABLE Table_name (<Column_definition>REFERANCES

<referance_table_name>(referance_column_name));

жишээ нь: CREATE TABLE Table Student ( Student_id INT UNSIGNED NOT NULL AUTO_INCREMENT, Student_name CHAR(60) NOT NULL, Lesson_id INT NOT NULL REFERANCES Lesson(Lesson_id) ); Хүснэгтэнд өгөгдөл оруулах INSERT [INTO] <Table_name> VALUES(<values>[,<values>[,…]]); коммандаар нэмнэ. Жишээ нь: INSERT INTO Student VALUES(1,’name1’),(2,’name2’) Оруулсан өгөгдлийг засварлах UPDATE <Table_name> SET <Column_name = Value> [WHERE <Search condition>] Жишээ нь: Update Student Set student_name =’name1’ WHERE student_id = 1 Олон багананд засвар оруулах Өгөгдлийн сантай ажиллах явцад олон багананд өөрчлөлт оруулах хэрэг гардаг. Жишээ нь: UPDATE student SET student_id =1,

  student_name =’name1’ WHERE 
  student_id = 3

Оруулсан өгөгдлийг устгах DELETE FROM<Table_name> [WHERE<Search_Condition>]; коммандаар устгана. Жишээ нь: DELETE FROM student WHERE student_id = student_id = 1 TRUNCATE TABLE TRUNCATE TABLE <table_name>; комманд нь бүх хүснэгтийг бүх өгөгдлийг устгадаг. Жишээ нь: TRUNCATE TABLE student

Exploitdb гэж юу вэ? засварлах

Exploit нь Линуксын багаж чухал багаж хэрэгсэл бөгөөд аюулгүй байдал, шүүхийн талбаруудын янз бүрийн өөр өөр талбаруудаас их хэмжээний нэвтрэлтийн тест хэрэгслийг агуулдаг.Энэ сайт нь эдгээр бүх зүйлсийг жагсааж, эдгээр хэрэгслүүдэд хурдан мэдээлэл лавлагаа өгөх зорилготой хандалтын чанартай юм. Үүнээс гадна, багажнуудын хувилбаруудыг тэдгээрийн эх үүсвэрүүдийн эсрэг хянах боломжтой. Кали линуксын нэвтрэлтийг шалгах платформ нь мэдээллийн аюулгүй байдлыг үнэлэх боломжийг бүрдүүлж өгдөг. Мөн Metapackages гэж байдаг бөгөөд Metapackages нь таны хэрэгцээнд тулгуурлан тусгай дэд сүлжээг суулгах уян хатан байдлыг бий болгодог. Exploit нь дотроо маш олон хэрэгтэй exploit сангуудтай.

- Armitage

- Backdoor Factory

- BeEF

- cisco-auditin-tool

- cisco-global-exploiter

- cisco-ocs

- cisco-torch

- Commix

- crackle

- exploitdb

- Jboss-autopwn

- Linux Exploit Suggester

- Maltego teeth

- Metasploit Framework

- MSFC

- RouterSploit

- SET

- ShellNoob

- sqlmap

- THC-IPV6

- Yersinia

Exploitdb эндээс багцын тайлбар гэвэл exploitdb багцын нэгээхэн хэсэг болох searchsploit нь ашигтай мэдээллийн сан архивыг хайх хэрэгсэл юм.

Searchsploit жишээ:

root@kali:~# searchsploit -h

Хэрэглээ: searchsploit [options] term1 [term2] ... [termN]

Жишээ: searchsploit oracle windows local/Хайх жишээ/

-c Мэдрэмтгий хайлтыг гүйцэтгэх; анхдагч хайлтууд үр дүнтэй байхад дэмжлэг үзүүлэх

-h, --help Тусламжийн дэлгэцийг,цэсүүдийг харуулах

-v Валютын гаралтыг тохируулах замаар тайлбар мөрийг оруулах боломжтой


Хүссэн хайлтын үгийг ашиглах (хамгийн багадаа нэг). Хайлтын нэр томъёо нь хэрэглэгчидэд төвөггүй бөгөөд хайлтад хамааралгүй.