当前位置: 首页 > news >正文

宜昌皓月建设工程有限公司网站百度地图收录提交入口

宜昌皓月建设工程有限公司网站,百度地图收录提交入口,o2o模式免费ppt模板,注册安全工程师注册管理系统官网目录 第一关 1.字段查询 2.建表 3.连表查询 4.下段看代码 5.查表 总结 第一关 目标:如何从商品表查到--------->管理员表 1.字段查询 可用union进行两表联合查询。也就是good表和user表联合查询,前提是这两表的字段一致。问题是目前不知道…

目录

第一关

1.字段查询

2.建表

3.连表查询

4.下段看代码

5.查表

总结

第一关

目标:如何从商品表查到--------->管理员表

1.字段查询

可用union进行两表联合查询。也就是good表和user表联合查询,前提是这两表的字段一致。问题是目前不知道good表的字段。

可以使用order by排序,且可以使用任意列排序。

select * from goods order by gid desc这是倒序排序

select * from goods order by gid asc这是正序排序

你会说:“你也不知道他第一列是gid,还是gname还是其他,那你怎么排序?”是,是不知道。但mysql还有一个功能是,可以用1表示第一列,2表示第二列,以此类推。

select * from goods order by 1 desc

同时说明了一个结论:可以用order by验证到底有几列。当 order by 4 的时候回报错,说明这个表只有4列。

2.建表

第一步已得知goods表有三列也就是有3字段,既建立临时表,与goods表进行联合查询

union select 1,2,3

可以把123换成查询语句

union select version(),database(),user();

这样就可以把gid,gname,gprice查出来,但查gid没有意义。因为gid没有显示在前端,页面上只回显gname和gprice

3.连表查询

要逃出单双引号,要么注释掉,要么闭合。

现在相当于gid='1' '

报错了,已成功80%,若没报错也可能有注入点,不过他不显示在前端,看后端的时间(盲注)。

闭合了必定报错,因为单双引号在任何编程语言都要成对出现。继续进行联合查询

gid='1   union select 1,2,3

颜色变了,说明逃逸出来了。因为单引号影响,所以要注释掉。

mysql注释有三种:单行注释 #或-- ,杠杠后面要有一个空格,那么--+或--20%也是可以的。

用--+把单引号注释掉

gid=1%27%20union%20select%201,2,3--+

但查这个没用,与id=1没区别。

源代码得知:会把第一个数组拿出来回现前端。

也就是第一行

正常注入语句在第二行。为什么在第二行走?因为gname,gprice显示在前端了,而2,3是要出数据的,但在2这里注入数据后在前端显示不出,所以一定要保证行数组查不出数据,让第二行查出数据,然后gname:root@localhost才会显示到前端

由于gid=1,第一个表被查出来了

给一个不存在的id,那么第一个表就查不出来,那么就不显示第一个数组而显示第二个

4.下段看代码

现在的gid是刚刚传进的gid=-1',注意+变为空格了,然后22-23行代码是写文件。

最终sql语句为这样。gid=-1,查不到东西,联合查询查到1,2,3就查出来了。

查出来的是一个数组,若这个数组存在,那么gid=2,gprice=3。所以2,3会回显到前端。2和3没意义,把2和3换成查询语句user(),database()。就会在前端回显当前的用户和当前的数据库。

通过联合注入找到了当前数据库,现在少想要注入的表名(管理员表名),管理员列名。

5.查表

想查管理员表名,只能到information_schema库里找tables这个表,因为这个表里放着所以数据库的表,那肯定包含管理员表。又因为tables表里有一个tables_schema字段,这个字段可限制数据库的名称。

进到information_schema库里,里面有应该COLUMNS表

进到这个表里:

从图里可以看到这个表里有数据库名,有表名,有列名。

使用group_concat函数, MySQL 中一个常用的聚合函数,用于将分组查询中某一列的多个值连接成一个字符串(连成一行)。

通过此代码获取表名:

,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

  • from%20information_schema.tables 指定从数据库的系统表information_schema.tables中查询
  • where%20table_schema='security' 筛选出数据库名为security的表

可得到管理员表在users表,现实中可能是admin表。

group_concat(column_name),3 from information_schema.tables where table_schema='security' and table_name='users'--+

这就把管理员的列查出来了。

group_concat(username,0x3a,password),3%20from%20users-+

  • group_concat(username,0x3a,password) 表示使用group_concat函数将username(用户名)和password(密码)字段的值连接起来
  • 0x3a 是十六进制表示的冒号:,作为用户名和密码之间的分隔符
  • from users 说明是从users表中查询数据

至此,所有数据都查出来了。相当于通过商品表查出来管理员的账户和密码,当然正常查出来的密码都是加密过的。

总结

这就完成了字符型注入,从goods表------->user表,用union联合查询,期间用order by判断列,用gid=-1让第一个数组失效,用--+(-- )实现注释,用information_schema实现库表列的查询,用group_concat实现注出管理员的数据。整个流程利用 “字符型注入点 + 报错回显”,通过判断字段数→构造联合查询→获取基础信息→查表名→查列名→获取敏感数据的步骤,从目标表goods横向渗透到用户表users,最终获取核心敏感信息。此过程依赖于无过滤的输入拼接和错误信息回显。这是最基础最简单的,没有任何过滤,没有任何防御的注入。第一关比较重要,打好基础,后面的关和第一关差不多,无非就是加入了过滤。

面试可能会问:

1)有没有手工注入的点?说说手工注入的流程?

2)有那种类型的注入?

3)mysql怎么获取getshell?

4)mysql有没有什么绕过机制?过滤怎么绕过?

http://www.dtcms.com/a/534610.html

相关文章:

  • 网站制作好后 怎样上线西部数码网站管理助手3.1
  • 做暧暧免费网站哪里有免费的网站模板下载 迅雷下载 迅雷下载软件
  • 北大青鸟的网站建设课程多少钱wordpress pixvideo
  • 有没有在线辅导家做的网站seo网站查询工具
  • 网站开发公司气氛wordpress 右侧空白
  • 深圳的知名网站设计有哪些重庆制作网站模板建站公司
  • 昌邑市建设局官方网站北辰网站开发
  • 合肥建设学校网站首页广西壮族自治区官网
  • 网站源码怎么弄丰功网站建设
  • 如何自已建网站云南住房建设厅网站
  • 国企网站建设合同网站的对比
  • 网站虚拟主机建设百度查重软件
  • 网站建设开发公司地址做装修那个网站好
  • 厦门h5网站建设老哥们给个uc能看的2021
  • 贵州网站建设培训哈尔滨网站建设团队
  • 长沙网站 建设推广世云网络东营百姓网免费发布信息网
  • 营销形网站广西智能网站建设制作
  • 竹溪县县建设局网站网站推广关键词排名
  • 青岛企业网站推广昆明网页制作
  • 哪家网站建设免费表格模板下载
  • 南充网站建设服务商艺术类考生有哪些专业
  • 婚恋网站排名怎么使用创客贴网站做图
  • 网站为什么百度不收录php是用来做网站的吗
  • 制作网站价格不一wordpress文章密码插件
  • 广东省公共资源交易中心平台网站seo博客
  • 手机淘宝网页版创维网站关键字优化
  • 怎么做网站有利于收录小网站链接怎么找
  • 公司注册网站需要什么资料久久建筑网如何获取积分
  • wordpress自定义字段筛选北京seo培训
  • 网站建设用的软件中信建设有限责任公司建筑院