登录  /  注册

实例讲解PHP实现保存网站用户密码到css文件

小云云
发布: 2017-12-23 16:06:55
原创
1003人浏览过

本文主要介绍了php实现保存网站用户密码到css文件(通用型),的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。

很多时候呢,我们拿到一个shell以后,偶尔会遇到密码解不了的情况,用xss收集cookie吧,感觉不方便;利用xss平台劫持表单吧,感觉麻烦,也会担心自己想要的密码别人也copy了一份等等情况吧,这个时候我们就需要自己想办法来收集想要的PWD……

最简单了,看别人的登陆界面如下:

I春秋的登陆界面,我们可以看到用户和密码的的name属性分别是:“username还有password“,当然针对i春秋这样的cms,你若是巧合的拥有这样类似的网站shell,

然后我们再找一个一下thinkphp的登陆界面:

其实也是看账户 还有 密码的name属性:“user 还有 password“,其实登陆中的name都差不多,那么我们就可以直接在shell中找到登陆文件 ,然后修改相关内容即可。

那么问题来了,很多人会感觉到登陆的文件很繁琐或者是不好找什么的,那么最好的办法就是我们自己写一个抓取登陆时候post数据的脚本,然后用相关的文件来include它,这样就完成了既保证网站安全运行,又保障了你能够得到你想要的密码。惊喜不惊喜,意外不意外。

再看一下我的网站后台,很简单,直接admin目录,啥也不说了,直接找到我的admin目录,include我们的脚本,就拿到了管理员的密码

我是不是说多了怎么扯犊子到管理员的密码了,我日啊,罪过罪过,我是故意的,你没有听错,我就是故意的,This is bypass ,this is a gold key,when you wonna be get someone else's password .

哈哈,你开心了吗,兄弟们

其实,对于那种开始就让你登陆的网站,你可以从它的index.php文件来进行循规蹈矩,看它的require 或者 include等的调用文件,只要和登陆有关系,或者直接可以说成是登陆的过程中会调用到的文件来说直接把咱们研究的文件include其中即可拿到密码。

啰嗦了这么久,上面这句才是重点,让你们失望了,小弟的语言组织能力需要联系,那么就总结一句话吧:凡是登

陆的过程有调用到的文件,咱么那就可以include进去,然后就拿到密码了!!

最后上一张我利用的图片,不许激动哦

PS:下面看段实例代码php使用gzip压缩传输js和css文件的方法


<?php
 /**
  * 完整调用示例:
  * 1、combine.php?t=j&b=public&fs=jslib.jquery,function
  *
  * 该例子调用的是网站根目录下的public/jslib/jquery.js和public/function.js
  *
  * 2、combine.php?t=j&fs=jslib.jquery,function
  *
  * 该例子调用的是网站根目录下的jslib/jquery.js和function.js
  *
  * 3、combine.php?t=c&b=public.css&fs=common,index
  *
  * 该例子调用的是网站根目录下的public/css/common.css和public/css/index.css
  *
  * 4、combine.php?t=c&fs=css.common
  * 该例子调用的是网站根目录下的css/common.css
  *
  * 注:多个文件名之间用,分隔;只有一个文件名最后不要有,
  *  用,分隔的多个文件会被压缩进一个文件,一次性传给浏览器
  **/
 $is_bad_request=false;
 $cache = true;
 $doc_root_uri=$_SERVER[&#39;DOCUMENT_ROOT&#39;].&#39;/&#39;;
 $cachedir = $doc_root_uri . &#39;public/cache&#39;;
 //文件类型,j为js,c为css
 $type=isset($_GET[&#39;t&#39;])?($_GET[&#39;t&#39;]==&#39;j&#39;||$_GET[&#39;t&#39;]==&#39;c&#39;?$_GET[&#39;t&#39;]:&#39;&#39;):&#39;&#39;;
 //存放js和css文件的基目录, 例如:?b=public.js 代表的是/public/js文件夹,出发点是网站根目录
 //基目录参数不是必须的,如果有基目录那么这个基目录就会附加在文件名之前
 $base =isset($_GET[&#39;b&#39;])?($doc_root_uri.str_replace(&#39;.&#39;,&#39;/&#39;,$_GET[&#39;b&#39;])):$doc_root_uri;
 //文件名列表,文件名不带后缀名.比如基目录是
 //文件名的格式是 :基目录(如果有)+文件包名+文件名
 //例如:类型是j,
 //  文件名public.js.jquery
 //  如果有基路径且为public,
 //  那么转换后的文件名就是/public/public/js/jquery.js
 //  如果没有基路径
 //  那么转换后的文件名就是/public/js/jquery.js
 //多个文件名之间用,分隔
 $fs=isset($_GET[&#39;fs&#39;])?str_replace(&#39;.&#39;,&#39;/&#39;,$_GET[&#39;fs&#39;]):&#39;&#39;;
 $fs=str_replace(&#39;,&#39;,&#39;.&#39;.($type==&#39;j&#39;?&#39;js,&#39;:&#39;css,&#39;),$fs);
 $fs=$fs.($type==&#39;j&#39;?&#39;.js&#39;:&#39;.css&#39;);
 if($type==&#39;&#39;||$fs==&#39;&#39;){$is_bad_request=true;}
 //die($base);
 if($is_bad_request){header ("HTTP/1.0 503 Not Implemented");}
 $file_type=$type==&#39;j&#39;?&#39;javascript&#39;:&#39;css&#39;;
 $elements = explode(&#39;,&#39;,preg_replace(&#39;/([^?]*).*/&#39;, &#39;\1&#39;, $fs));
 // Determine last modification date of the files
 $lastmodified = 0;
 while (list(,$element) = each($elements)) {
   $path =$base . &#39;/&#39; . $element;
   if (($type == &#39;j&#39; && substr($path, -3) != &#39;.js&#39;) ||
     ($type == &#39;c&#39; && substr($path, -4) != &#39;.css&#39;)) {
     header ("HTTP/1.0 403 Forbidden");
     exit;
   }
   if (substr($path, 0, strlen($base)) != $base || !file_exists($path)) {
     header ("HTTP/1.0 404 Not Found");
     exit;
   }
   $lastmodified = max($lastmodified, filemtime($path));
 }
 // Send Etag hash
 $hash = $lastmodified . &#39;-&#39; . md5($fs);
 header ("Etag: \"" . $hash . "\"");
 if (isset($_SERVER[&#39;HTTP_IF_NONE_MATCH&#39;]) &&
   stripslashes($_SERVER[&#39;HTTP_IF_NONE_MATCH&#39;]) == &#39;"&#39; . $hash . &#39;"&#39;)
 {
   // Return visit and no modifications, so do not send anything
   header ("HTTP/1.0 304 Not Modified");
   header ("Content-Type: text/" . $file_type);
   header (&#39;Content-Length: 0&#39;);
 }
 else
 {
   // First time visit or files were modified
   if ($cache)
   {
     // Determine supported compression method
     $gzip = strstr($_SERVER[&#39;HTTP_ACCEPT_ENCODING&#39;], &#39;gzip&#39;);
     $deflate = strstr($_SERVER[&#39;HTTP_ACCEPT_ENCODING&#39;], &#39;deflate&#39;);
     // Determine used compression method
     $encoding = $gzip ? &#39;gzip&#39; : ($deflate ? &#39;deflate&#39; : &#39;none&#39;);
     // Check for buggy versions of Internet Explorer
     if (!strstr($_SERVER[&#39;HTTP_USER_AGENT&#39;], &#39;Opera&#39;) &&
       preg_match(&#39;/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i&#39;, $_SERVER[&#39;HTTP_USER_AGENT&#39;], $matches)) {
       $version = floatval($matches[1]);
       if ($version < 6)
         $encoding = &#39;none&#39;;
       if ($version == 6 && !strstr($_SERVER[&#39;HTTP_USER_AGENT&#39;], &#39;EV1&#39;))
         $encoding = &#39;none&#39;;
     }
     // Try the cache first to see if the combined files were already generated
     $cachefile = &#39;cache-&#39; . $hash . &#39;.&#39; . $file_type . ($encoding != &#39;none&#39; ? &#39;.&#39; . $encoding : &#39;&#39;);
     if (file_exists($cachedir . &#39;/&#39; . $cachefile)) {
       if ($fp = fopen($cachedir . &#39;/&#39; . $cachefile, &#39;rb&#39;)) {
         if ($encoding != &#39;none&#39;) {
           header ("Content-Encoding: " . $encoding);
         }
         header ("Content-Type: text/" . $file_type);
         header ("Content-Length: " . filesize($cachedir . &#39;/&#39; . $cachefile));
         fpassthru($fp);
         fclose($fp);
         exit;
       }
     }
   }
   // Get contents of the files
   $contents = &#39;&#39;;
   reset($elements);
   while (list(,$element) = each($elements)) {
     $path = $base . &#39;/&#39; . $element;
     $contents .= "\n\n" . file_get_contents($path);
   }
   // Send Content-Type
   header ("Content-Type: text/" . $file_type);
   if (isset($encoding) && $encoding != &#39;none&#39;)
   {
     // Send compressed contents
     $contents = gzencode($contents, 9, $gzip ? FORCE_GZIP : FORCE_DEFLATE);
     header ("Content-Encoding: " . $encoding);
     header (&#39;Content-Length: &#39; . strlen($contents));
     echo $contents;
   }
   else
   {
     // Send regular contents
     header (&#39;Content-Length: &#39; . strlen($contents));
     echo $contents;
   }
   // Store cache
   if ($cache) {
     if ($fp = fopen($cachedir . &#39;/&#39; . $cachefile, &#39;wb&#39;)) {
       fwrite($fp, $contents);
       fclose($fp);
     }
   }
 }
登录后复制

相关推荐:

使用Cookies保存网站历史浏览记录实例代码_javascript技巧

jquery.cookie.js实现用户登录保存密码功能的方法_jquery

如何使用jquery对表格数据进行增加、保存、删除操作代码详解

以上就是实例讲解PHP实现保存网站用户密码到css文件的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号