博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
攻防世界web进阶区ics-07详解
阅读量:2134 次
发布时间:2019-04-30

本文共 1231 字,大约阅读时间需要 4 分钟。

攻防世界web进阶区ics-07详解

题目

在这里插入图片描述

当然又是熟悉的界面,熟悉的ics题目,熟悉的只能点击一个页面

详解

在这里插入图片描述

这里进来有一个view-source
点击看看
在这里插入图片描述
是一堆代码。我们进行尝试审计

page不能为空,同时,他的值不能等于index.php这样,就会包含flag.php文件

否则重定向到flag.php这个文件

我们来看第二块儿

判断session的是不是admin,然后获取到一些值,
匹配.php3457,pht,phtml
如果匹配到,那么就结束
如果没有匹配到,那么就写入文件

something wae wrong !
"); if($result){
echo "id: ".$result->id."
"; echo "name:".$result->user."
"; $_SESSION['admin'] = True; } ?>

这里判断id是否存在,

floatval这里用的!==,所以类型也要比较,后变为字符串string,前面为数值float,所以肯定不相等。
substr用来返回子串
然后进行数据库的查询,并且进行了转义

  • 第一段是个简单重定向,get参数page不为index.php即可
  • 第二段 需要得到一个admin的session,之后可以post传入con与file两个参数
    File参数是自定义的文件名字,之后会处理为backup/文件名
    这里对文件名进行了过滤,防止后缀名是php的文件。
    上传成功后,会切换到uploaded目录,创建文件,并将con的内容写入,
    那么实际文件的路径就是:uploaded/backup/xxx.xxx
  • 第三段代码是对get参数id进行校验,如果id的浮点数不是1,且最后一位是9那么,实行查询语句,如果查询正确,会得到一个admin的session

因此我们这里就需要满足所有需求

在这里插入图片描述
我们查询id的时候,发现有了admin的session
?page=flag.php&id=1xx9
这里因为只要他的最后一位是9即可进行绕过
这里同时利用了php的弱类型相等,因此可以进行查询语句
在这里插入图片描述

我们就可以进行上传木马了

因为他过滤很严格,我们只能进行解析漏洞
00截断啊,之类的
在这里插入图片描述
在这里插入图片描述
我们发现这里上传的并没有存进来,必须通过网页来上传,因为那里有者session
在这里插入图片描述
apache2.x的解析漏洞
1.php.xxx会被当作php来解析,那么我当时上传的时候,并没有能够成功,
我们换另一种上传方式
其中 .. 代表当前目录的父目录 , .代表当前目录,所以这里的c.php/b.php/..也就是访问b.php的父目录,也就是 c.php
在这里插入图片描述
但是我这里死活连不上,
在这里插入图片描述
只能这样来表示可以了吧
在这里插入图片描述
我们上传可以往父级目录上传,我估计他可能父级目录可以进行操作

floatval

在这里插入图片描述

在这里插入图片描述
他只留下了数字

substr

在这里插入图片描述

转载地址:http://igugf.baihongyu.com/

你可能感兴趣的文章
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
win10将IE11兼容ie10
查看>>
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>