首页 > 数据库 >渗透测试|记一次SQL注入新用法

渗透测试|记一次SQL注入新用法

时间:2024-06-03 10:58:31浏览次数:21  
标签:like 渗透 waf 用法 可控 User SQL IsDeleted 注入

免责声明:

由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

正文:

在参加某市攻防演练的时候,发现目标站,经过一系列尝试,包括弱口令、SQL注入等等尝试后,未获得到有效的入口点。在准备放弃之时,看到页脚的banner:xxxxx信息科技有限公司 [!...

0.前言

在参加某市攻防演练的时候,发现目标站,经过一系列尝试,包括弱口令、SQL注入等等尝试后,未获得到有效的入口点。在准备放弃之时,看到页脚的banner:xxxxx信息科技有限公司

图片

然后有了个想法,到fofa里面搜这个banner,找到一些其他使用该站的,但是没有参与攻防演练的(PS:演练前该单位做过整改弱口令全改了)。

1.旁路进站获取未授权接口

经过尝试,果然皇天不负有心人,进入到了其他厂商的后台,于是开始寻找未授权就能访问的接口或者RCE点,脱代码来审计,从而获取目标权限。

找了一圈,后台没有直接RCE的点,无法脱代码来审计,但是发现了一个有趣的点:

图片

此处查找联系人的接口,存在未授权访问,数据包为:


POST /HanNeng/SelectHelp HTTP/1.1
Content-Length: 29
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: ASP.NET_SessionId=vd11thy3qnmgz0h4dtyb51ra; rem=1192
Connection: close

Type=User&Field=UserName&Con=

 

经过测试发现该处不仅存在未授权访问,Field参数还存在注入。

图片

直接给出部分sql语句:


select count(*) from tb_User where IsDeleted!=1 and Password'

测试过程中发现field是列名,证明如下:

图片

当我认为可以sqlmap一把梭的时候,却发现了这该死的waf:

图片

3.与waf生死缠斗到和平相处

尝试绕过waf:

图片

发现like附近语法错误,这时候想起来根据其他搜索方式,比如工号搜索的时候,应该是模糊匹配的:

图片

发现Con参数的内容应该是进行了模糊匹配,也就是说sql语句可能是:


select count(*) from tb_User where IsDeleted!=1 and userid like '%可控点2%';

可控点2不存在注入,可控点1存在注入但是有waf,这时候就想到一个特别好玩的方法,我把field传入个password是否能获取到password密文呢?

图片

然而并没有,所以呢,猜测此处是这样一个逻辑:

先执行sql语句,确定用户数量:


select count(*) from tb_User where IsDeleted!=1 and userid like '%可控点2%';

然后再执行sql语句筛选用户信息,工号和姓名:


select username,userid from tb_User where IsDeleted!=1 and userid like '%可控点2%';

所以肯定不可能直接把密码传出的,那么就没得搞了么?要么绕过waf,要么还能。。。


select count(*) from tb_User where IsDeleted!=1 and password like '%可控点2%';

这样我只需要构造payload:Type=User&Field=password&Con={遍历}就可以一位一位注入密码了,比如:

图片

图片

用户pageCount数量一直在减少,密码相同的用户一直在减少,但是这里要说明一个点,因为是%可控点%,所以123的前后都有可能有数据,当时我犯了这个错误,导致注入出的md5不全。注入出md5证明如下:

图片

自此就可以和waf和平共存,你防你的大注入,我搞你的小密码。获取完整md5后解密即可登录后台。

标签:like,渗透,waf,用法,可控,User,SQL,IsDeleted,注入
From: https://blog.csdn.net/weixin_45840241/article/details/139355181

相关文章

  • Java中字符串格式化的参数索引用法
    Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:publicstaticStringformat(Stringformat,                           Object...args)publicstaticStringformat(Localel,                  ......
  • Java中字符串格式化的短横线标志用法
    Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:publicstaticStringformat(Stringformat,                           Object...args)publicstaticStringformat(Localel,                  ......
  • Java中字符串格式化的井号标志用法
    Java中字符串格式化是通过String类的format()方法来实现的,该方法有两种定义:publicstaticStringformat(Stringformat,                           Object...args)publicstaticStringformat(Localel,                  ......
  • sqlSql元素用来定义一个可以复用的SQL 语句段
    sqlSql元素用来定义一个可以复用的SQL语句段,供其它语句调用。比如:Xml代码收藏代码<!--复用sql语句查询student表所有字段--><sqlid="selectStudentAll">SELECTST.STUDENT_ID,ST.STUDENT_NAME,ST.STUDENT_SEX,ST.STUDENT_BIRTHDAY,ST.CLASS_IDFROMSTUDENT_TBLST<......
  • 水质在线监测与数据分析 毕业设计 Spring+SpringMvc+Mybatis+Mysql
    作者主页:毕业设计精选作者简介:9年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家摘. 要   以巢湖水质为研究对象,设计和开发了基于SSM 的轻量级水质在线监测系统 ,对巢湖水中的总磷 、 氨氮等9种成分数据进行采集、传输......
  • 执行 delete from t1 where id = 10;MySQL会加什么锁?
    思考一个问题:下面一条简单的SQL,它加什么锁?deletefromt1whereid=10;带着你的答案,我们继续往下看。如果要分析上述SQL的加锁情况,必须了解这个SQL的执行前提,MySQL的隔离级别是什么?id列是不是主键?id列有没有索引?前提不同加锁处理的方式也不同。可能的情况:id列是不是主键?My......
  • MySQL大表优化方案
    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很......
  • Oracle之SQL优化实战分析
    分享一个案例,一条SQL引发的“血案”!技术人人都可以磨炼,但处理问题的思路和角度各有不同,希望这篇文章可以抛砖引玉。以一个例子为切入点一、问题背景这是一个数据仓库系统,正常情况下每天0~6点会跑批,生成前一天的业务报表,供管理层分析使用。某天凌晨,监控系统频繁发出告警,大批业务报......
  • MySQL 使用方法以及教程
    一、引言MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于Web开发、数据分析等领域。它提供了高效、稳定的数据存储和查询功能。同时,Python作为一种强大的编程语言,也提供了多种与MySQL交互的库,其中pymysql就是其中之一。本文将介绍MySQL数据库的基础使用,并通过Pytho......
  • SQLmap注入
    SQLmap注入sqlmap只是用来检测和利用sql注入点,并不能扫描出网站有哪些漏洞,使用前先使用扫描工具扫出sql注入点。sqlmap采用了五种独特的SQL注入技术。1.布尔盲注:可以根据返回页面判断条件真假的注入。2.时间盲注:不能根据返回页面的内容判断出任何信息,要用条件语句查询时间......