HACK80 首页  立即注册  登录
现在注册
已注册用户请  登录
HACK80    技术文档

LFI Getshell Without Uploadpage

  •   djg222000 ·2018-2-3 09:00:01·446 次点击 ·阅读模式     

    马上注册,加入HACK80!与我们一起交流。

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

    x
    0x00
    一般来说,遇到有上传点的本地文件包含,用相对路径去包含一下图片就ok,但是在没有上传点的情况下,一般采用包含日志、session等来包含我们可控内容的文件,正好前段时间sctf上用到,总结一下各种方法好了。
    0x01
    先说一下sctf的session包含,先猜一下apache配置的路径,然后看一下虚拟主机的配置,正好有session文件保存位置,然后
    然后讲道理的话,这个session文件会把我们在登录时username保存下来(写过系统应该明白,这个session用户名可以在登录后界面用来写”欢迎xxx”什么的,操作不当还容易引发二次注入)。
    开始包含是空白的,后来发现session文件有自己的保存格式,加上sess_的前缀就好了。
    0x02
    上面是一个session包含的例子,当时看了一些资料,后来也在本地测过一些方法,正好总结一下
    • logs包含
    最先想到的肯定是logs包含,如果有apache的accesslog的权限,就可以考虑包含一下这个文件
    但是存在一个问题,这个文件一般比较大,有可能出现在php运行时间内没有把我们访问的那一行包含进来,开始想说可以考虑选择errorlog,但是看了一下本地error log竟然两个G,当我没说。。。
    此外还可以选择mysql的general log,那里会记录mysql的操作记录,你创建一个用户肯定会有一个insert语句的,包含进来也能getshell。
    这里重要注意一点,被url编码了的shell是不能执行的,可以用burp让我们访问的连接不被浏览器自动编码。
    • /proc/self/environ包含
    很多情况下是没有这个文件的访问权限的,但是服务器配置不当的话可以用这种方法。这个文件里面会记录访问者的user_agent信息。
    抓包改一下user_agent,然后把文件包含进来就ok了,简单直接,没有遇到编码问题。
    • session包含
    和上面的例子类似,最主要的就是要找到session文件的保存位置,有时候能找到apache的配置文件的话可能会写在里面。没有看到配置的话可以试一下/tmp/、/var/lib/php/session/、/var/lib/php/session/目录。
    • phpinfo包含临时文件
    LFI在可以读到phpinfo的情况下可以考虑这个方法,原理是php服务端接受到客户端提交的type为multipart/form-data提交上来的文件表单时,当即会对文件作出处理,产生一个临时文件。一般开发时写文件上传功能的时候则是从$_FILES这个全局变量中取到上传的文件详情,然后进行保存等操作。phpinfo中则是会记录这个$_FILES中所要操作的临时文件的名字和路径。
    所以问题的关键在于,无论你的服务器前端是否提供了上传表单、后端是否对上传的文件进行处理,只要客户端提交了满足格式的数据,php解析器都会对文件进行处理,创建一个临时文件。
    因此LFI要做的就是在服务器删除掉这个临时文件前包含进来,进行操作。问题是这个临时文件存在的时间太短了,所以一般可以采用用无用的数据填充、大量请求等来延长php处理临时文件的时间。phpinfo里面找到这个超全局变量file的值就可以成功的包含临时文件了。
    具体可以参考国外用写的包含用的python脚本,里面优化了提交文件的方法,可以拖延一下下临时文件被删除的时间。
    参考链接:
    https://www.insomniasec.com/downloads/publications/LFI%20With%20PHPInfo%20Assistance.pdf
    • EXTRA
    其他则是发挥想象空间,找到服务器上内容可控的文件。比如开启了ftp服务,则包含ftp的登录日志;还有开发人员写的一些文件中专,或者记录登录者IP的文件等等。。。

    446 次点击  
    收藏  转播  分享
    添加一条新回复
    您需要登录后才可以回帖 登录 | 立即注册

    本节点积分规则
    QQ
    小黑屋   ·   手机版   ·   181 人在线 最高记录 5500   ·   TOP
    我们很年轻,但我们有信念、有梦想!

      我们坚信只有今天付出了,才有机会看到明天的太阳!现在!加入我们,给你一个气氛优秀的技术圈子。  
    GMT+8, 2018-5-21 23:05, Processed in 0.045340 second(s), 18 queries .