专栏首页漫流砂三进三出 | 渗透测试

三进三出 | 渗透测试

写了一个多月的各种方案,终于抽个空可以做点技术活了

测试一个单位,其中一个官网,点进去一看,质朴中透露着一股有问题的气息,看了一下架构:IIS+PHP,美妙的组合。

迅速定位到了一个点可能存在注入,但是,有waf:

这么老的站,没注入你设waf干嘛?此地无银三百两,肯定有注入,上网搜一下wts-waf,一搜发现,绕过很简单,空格改成 + 即可,于是乎,我尝试了一下:

???

还有限制,大概是因为 = ,改成 like:

成了啊,这不妥妥有注入?

Sqlmap一把梭

然后。。。

IP没了,sqlmap一片红。。。仿佛是目标在说

这封IP,是不是访问太多太快了?

写个脚本,sleep(3),慢点就慢点吧,暴个库名收工吧。结果还是封,那手注吧,于是我被waf锤了一下午,总结出一下边界触点:

  • 联合查询注入select后面不能跟字符
  • 不会报错
  • 时间盲注不能用sleep函数
  • 不能用/**/
  • %0a这一类会被拦截
  • 。。。。

第二天清早起床,拥抱阳光,我又觉得我行了,还是绕绕吧,手工fuzz一下关键词,结果发现一个神奇组合可以使用:--%0a

select后面跟上--%0a,即union select --%0a 1,2,3--+即可绕过:

感人肺腑

Union联合查询找到表:

于是通过这个方法,顺便花了一块钱解密md5,成功拿到后台管理员密码

在后台一顿乱翻,找到一个点可以上传文件:

和其他的上传点一样,这个上传点也是有很多限制的,比如只允许上传.jpg、会对上传内容做静态查杀,仔细去测试上传的包:

第一个filename是对上传文件进行命名,第二个attachPath,是上传路径,第三个是正常的上传核心内容,filename的值会决定后端如何比较文件内容

既然是IIS+PHP,肯定是先试试00截断,果然成了。。。

而且还真能访问到:

当然这是一个带着phpinfo的马,这是不是可以内网整整了?

现实当然没有这么简单,这么简单的话就不需要写这篇了,没过两分钟,马没了,00截断上传php文件也不行了。。。

再上传回包是:

从我这张全是马赛克的图里,老司机们应该能迅速反应过来,代码的后端逻辑其实是先将上传的文件重命名为x.tmp存在缓存文件夹中,再重命名为我们之前filename设定的名字移动到指定的web目录下。

所以对方应该是做了策略,使php文件无法在缓存文件夹下落地!

揣摩一下对方的思想,应该是黑名单吧?

那我试试 phtml、php3、php4、php5…

果然都不行。

我灵机一动

IIS的,传个ASPX试试,结果显示 “脚本不支持” ,传个asp,结果和传php一样。那就试试ashx、asmx、ascx、cer…

果然 cer可以:

然后:

第二天,马没了,密码改了,注入不行了,我哭了。。。

作为全公司最努力的致力于发展台球事业的员工,怎么能就此被打倒?

Fuzz一下sql注入,它把information_schema给?️了

???

由于某些不可抗力,后续无实际测试图,但是本地搭了个环境,写一下怎么做的去绕过这个规则:

payload:

-1 union select 1,`2`,1 from(select 1,2,3 union select * from user)a limit 1,1--+

这样就可以做到只要知道表名就可以不用information_schema注入出数据,那如果我之前就没有获取到表名呢?

那就使用 payload uid=1 and exists(select * from user1)--+

使用payload uid=1 and exists(select * from user)--+

配合上之前的绕过规则,再花一块钱,又可以获得管理员的密码了...

本文分享自微信公众号 - 漫流砂(yidalidemao),作者:意大利的猫

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DNS 字典分享

    内容都差不多,都是一些比较常用的词汇,但是需要注意的是,这是外国人常用的一些词汇,并不是中国的

    意大利的猫
  • SMB扫描

    SMB协议大家应该都有所了解,毕竟2017年的MS17-010血洗整个互联网,加上之前的MS08-067 漏洞,这些都是SMB协议上出现过的著名漏洞

    意大利的猫
  • 漏洞扫描之OpenVAS (一)

    OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的...

    意大利的猫
  • 【SQL调优】同事追着我骂,只因一句祖传SQL代码

    一连串的自问自答,我想起来了,是由于之前的某张统计表设计的不太合理,导致表内数据时间段内冗余较多,而统计展示又要很精细,所以逼出了我的这句祖传sql,嗯,都是表...

    大道七哥
  • sql删除重复记录

    where peopleId in (select peopleId from people group by peopleId having count(pe...

    王念博客
  • 特斯拉一次把电池容量翻了5倍,新车2秒破百,续航超800公里,公司股价却跌了

    同时,特斯拉还宣布推出新一代 Model S,功率超过 1100 马力,零百加速不到两秒,续航里程超 800 公里,最高时速 320 公里,售价不到百万,预计 ...

    磐创AI
  • MySQL学习笔记

    ​ 数据库提供一个存储空间用于存放各种数据(其中包括整型、文本、小数、日期等),我们可以将数据库看作是一个存储数据的容器。

    杨校
  • SQL Server 每日一题--解析老N的收入

    首先去除数据中相同的工资,然后将工资从大到小排序,接着利用 row_number 函数给每行数据加上行号,最后过滤出行号为N的工资,因为需要根据指定的排名查询,...

    喵叔
  • 「镁客·请讲」多人制大场景将是VR游戏的未来,而瑞立视已经Ready

    镁客网
  • Python test2

    歪先生

扫码关注云+社区

领取腾讯云代金券