Incoming..... |
||
![]() ![]() Gamma Lt MDalby
fct.php <?php
//the functions script,included in 'main.php'
// Declare some functions for encryption not included in PHP
/* Functions :
- ASCII to binary
- Binary to ASCII
- ASCII to Hex
- Hex to ASCII
- Binary to Hex
- Hex to Binary
- Decimal to Hex
- Hex to Decimal
- Backwards
- Base64 Encode
- Base64 Decode
- Caesar Bruteforce
- DES Crypt
- HTML Entities Encode
- HTML Entities Decode
- Leet Speak Encode
- Leet Speak Decode
- MD5 Crypt
- Pig Latin Encode
- Pig Latin Decode
- ROT 13
- URL Encode
- URL Decode
*/
function asc2bin($str) {
$text_array = explode("\r\n", chunk_split($str, 1));
$count = count($text_array) -1;
$newstring = "";
for ($n = 0; $n <$count; $n++) {
$newstring .= substr("0000".base_convert(ord($text_array[$n]), 10, 2), -8);
}
$newstring = chunk_split($newstring, 8, " ");
return $newstring;
}
function bin2asc($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 8));
$count = count($text_array) -1;
$newstring = "";
for ($n = 0; $n < $count; $n++) {
$newstring .= chr(base_convert($text_array[$n], 2, 10));
}
return $newstring;
}
// Made this alias because "bin2hex" would be confusing in the context of this script :P
function asc2hex($str) {
return chunk_split(bin2hex($str), 2, " ");
}
function hex2asc($str) {
$str = str_replace(" ", "", $str);
$count = strlen($str);
for ($n=0; $n<$count; $n+=2) {
$newstring .= pack("C", hexdec(substr($str, $n, 2)));
}
return $newstring;
}
function binary2hex($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 8));
$count = count($text_array) -1;
for ($n = 0; $n < $count ; $n++) {
$newstring .= str_pad(base_convert($text_array[$n], 2, 16), 2, "0", STR_PAD_LEFT);
}
$newstring = chunk_split($newstring, 2, " ");
return $newstring;
}
function hex2binary($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 2));
$count = count($text_array) -1;
for ($n = 0; $n < $count; $n++) {
$newstring .= substr("0000".base_convert($text_array[$n], 16, 2), -8);
}
$newstring = chunk_split($newstring, 8, " ");
return $newstring;
}
function dec2hex($str){
$count = strlen($str);
for($i=0;$i<$count;$i++)
if(ord($str[$i])!=32)
if(ord($str[$i])<48||ord($str[$i])>56){
$str[$i]=' ';
}
$array = explode(" ",chunk_split($str));
$result="";
$count =count($array);
for($i=0;$i<$count;$i++)
if($array[$i]!=0)
$result .= asc2hex(chr($array[$i]));
return $result;
}
function hex2dec($str){
$array=explode(" ",chunk_split($str));
$result="";
$count = count($array);
for($i=0;$i<$count;$i++){
$result .= base_convert($array[$i],16,10)." ";
}
return $result;
}
function caesarbf($str) {
$alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
echo "<table width=\"85%\" cellpadding=\"2\" align=\"center\">\n";
for ($n = 1; $n < 26; $n++) {
$cipher = substr($alpha, $n, 26 - $n) . substr($alpha, 0, $n) . substr($alpha, 26+$n, 52-$n) . substr($alpha, 26, $n);
if ($n % 2 == 0) {
echo '<tr bgcolor="#eeeeee">';
} else {
echo '<tr bgcolor="#cccccc">';
}
echo "<td>ROT-$n: ". strtr($str, $alpha, $cipher) ."</td>";
}
echo "<tr>\n";
echo "</table>\n";
}
function entityenc($str) {
$text_array = explode("\r\n", chunk_split($str, 1));
for ($n = 0; $n < count($text_array) - 1; $n++) {
$newstring .= "&#" . ord($text_array[$n]) . ";";
}
return $newstring;
}
function entitydec($str) {
$str = str_replace(';', '; ', $str);
$text_array = explode(' ', $str);
$count = count($text_array) -1;
for ($n = 0; $n < $count; $n++) {
$newstring .= chr(substr($text_array[$n], 2, 3));
}
return $newstring;
}
function l33t($str) {
$from = 'ieastoIEASTO';
$to = '134570134570';
$newstring = strtr($str, $from, $to);
return $newstring;
}
function del33t($str) {
$from = '134570';
$to = 'ieasto';
$newstring = strtr($str, $from, $to);
return $newstring;
}
function igpay($str) {
$text_array = explode(" ", $str);
$count = count($text_array) ;
for ($n = 0; $n < $count; $n++) {
$newstring .= substr($text_array[$n], 1) . substr($text_array[$n], 0, 1) . "ay ";
}
return $newstring;
}
function unigpay($str) {
$text_array = explode(" ", $str);
$count = count($text_array) ;
for ($n = 0; $n < $count; $n++) {
$newstring .= substr($text_array[$n], -3, 1) . substr($text_array[$n], 0, strlen($text_array[$n]) - 3) . " ";
}
return $newstring;
}
function rot13($str) {
$from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$to = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';
$newstring = strtr($str, $from, $to);
return $newstring;
}
function strip_spaces($str) {
$str = str_replace(" ", "", $str);
return $str;
}
?>
main.php
<?php
// The main PHP script, included in 'sneak.php'
include('fct.php');
// Check to see if form has been submitted yet
if(isset($_POST['submit'])) {
// Yes, so make sure they filled something in
$text = $_POST['text'];
if($text == '') {
die("<p>Fill in the form, dinglefritz! ;)</p>\n");
}
// Looks good, so clean up data
$text = urldecode(stripslashes($text));
// Make copy of original text for later display
$orig_text = $text;
$orig_text = htmlentities($orig_text);
echo("<p>$orig_text converts to:</p>\n");
// De/Encrypt based on selection in form
switch ($_POST['cryptmethod']) {
case "asc2bin":
$text = asc2bin($text);
break;
case "asc2hex":
$text = asc2hex($text);
break;
case "bin2asc":
$text = bin2asc($text);
break;
case "hex2asc":
$text = hex2asc($text);
break;
case "bin2hex":
$text = binary2hex($text);
break;
case "hex2bin":
$text = hex2binary($text);
break;
case "dec2hex":
$text=dec2hex($text);
break;
case "hex2dec":
$text=hex2dec($text);
break;
case "backwards":
$text = strrev($text);
break;
case 'b64enc':
$text = base64_encode($text);
break;
case 'b64dec':
$text = base64_decode(strip_spaces($text));
break;
case 'caesarbf':
$text = caesarbf($text);
break;
case 'dec2hex':
$text = dec2hex($text);
break ;
case 'crypt':
$text = crypt($text, 'CRYPT_STD_DES');
break;
case 'entityenc':
$text = entityenc($text);
break;
case 'entitydec':
$text = entitydec($text);
break;
case "l33t":
$text = l33t($text);
break;
case "del33t":
$text = del33t($text);
break;
case 'md5':
$text = md5($text);
break;
case 'igpay':
$text = igpay($text);
break;
case 'unigpay':
$text = unigpay($text);
break;
case "rot-13":
$text = rot13($text);
break;
case 'urlenc':
$text = urlencode($text);
break;
case 'urldec':
$text = urldecode($text);
break;
default:
die("<p>That encryption type is not supported.</p>\n");
} // end switch
// Convert to HTML entities so special chars show up
$text = htmlentities($text);
// Display result to the screen
echo("<p>$text</p>\n");
} // end if
?>
sneak.php
<?php
/***********************************************************************
* sneak.php - v 1.27 - 2003/02/12
*
* SNEAK: Snarkles.Net Encryption Assortment Kit
* =============================================
* Send and decode messages using a number of different methods
*
* Please forward any suggestions, problems, improvements, etc. to the
* e-mail address below. Thanks! :D
*
* Copyright (c) 2000 - 2004 snarkles (webgeek@snarkles.net)
* Distributed under the GNU/GPL license (see http://www.gnu.org/copyleft/)
************************************************************************/
/************************************************************************
* Changelog
* =========
* v 1.27 - 2004/10/28:
* - Added zero padding to hex conversions < 10. Thanks to bubuche93 for
* the heads up.
*
* v 1.26 - 2003/06/20:
* - Added function strip_spaces to remove spaces prior to trying to
* base64 decode a string. Thanks for Jeian and Goldfish for pointing
* this out.
*
* v 1.25 - 2003/02/12:
* - Fixed a bug in form that initially displayed an error about an
* undefined variable in the textbox if error_reporting is set to max.
* Thanks to Justin Hagstrom for notifying me of the problem. :)
*
* v 1.24 - 2003/02/01:
* - D'oh! Fixed a bug I introduced with the Caesar Bruteforce option that
* stuck that XSS vulnerability right back in there! :P
*
* v 1.23 - 2003/01/27:
* - Added "Caesar Bruteforce" option which will attempt all 26
* possible shifts of a Caesar (rotation) cipher.
*
* v 1.22 - 2003/01/26:
* - Textbox now retains original text value, so you can try different
* encryption methods on the same text without copying/pasting
* Thanks to barnseyboy who suggested the feature. :)
*
* v 1.21 - 2003/01/14:
* - Fixed XSS vulnerability that could potentially allow people to steal
* cookies from sites with the script installed.
* Credit for spotting this vulnerability goes to JeiAr from
* CyberArmy Security Research (http://www.security-research.org/)
*
* v 1.20 - 2002/08/10:
* - Added HTML entity encode/decode option
* - Changed order of listings so encoding is always before decoding
* - Fixed problem that caused special characters to be lost when
* writing back to the screen
*
* v 1.11 - 2002/02/21:
* - Cleaned up code some--now all chunk_splitting and str_replacing is
* done within the functions, rather than during the switch statement
* - Specified CRYPT_STD_DES in crypt() function, to fix problem with PHP 4.1.2
*
* v 1.10 - 2002/02/17:
* - Added bin2hex, hex2bin, and pig latin functions
*
* v 1.00 - 2002/02/15:
* - Nothing yet, but I'm sure that'll CHANGE. Ha! Get it? ;)
*************************************************************************/
$version = "1.27";
// You can alter the HTML below to make this script fit more inline with
// the rest of your site.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>SNEAK: Snarkles.Net Encryption Assortment Kit</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">
<!--
body { font-family: "arial", "helvetica", sans-serif; font-size: 10pt; }
-->
</style>
</head>
<body>
<?php include('main.php'); ?>
<!-- begin form -->
<center>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<textarea name="text" rows="5" cols="50"><?php if (isset($orig_text)) { echo($orig_text); } ?></textarea><br />
<select name="cryptmethod">
<option value="asc2bin">ASCII to Binary</option>
<option value="bin2asc">Binary to ASCII</option>
<option value="asc2hex">ASCII to Hex</option>
<option value="hex2asc">Hex to ASCII</option>
<option value="bin2hex">Binary to Hex</option>
<option value="hex2bin">Hex to Binary</option>
<option value="dec2hex">Decimal to Hex</option>
<option value="hex2dec">Hex to Decimal</option>
<option value="backwards">Backwards</option>
<option value="b64enc">Base 64 Encode</option>
<option value="b64dec">Base 64 Decode</option>
<option value="caesarbf">Caesar Bruteforce</option>
<option value="crypt">DES Crypt (one way)</option>
<option value="entityenc">HTML Entities Encode</option>
<option value="entitydec">HTML Entities Decode</option>
<option value="l33t">l33t 5p34k 3nc0d3</option>
<option value="del33t">l33t 5p34k d3c0d3</option>
<option value="md5">MD5 Crypt (one way)</option>
<option value="igpay">Igpay Atinlay</option>
<option value="unigpay">Un-Pig Latin</option>
<option value="rot-13">ROT-13</option>
<option value="urlenc">URL Encode</option>
<option value="urldec">URL Decode</option>
</select><br />
<input type="submit" name="submit" value="OK" />
<input type="reset" value="Clear" />
</form>
</center>
<!-- end form -->
<!-- begin footer; it would be nice if you would leave this on. ;) -->
<center>
<p>
<font size="1">Fine Print Shtuff:<br />
SNEAK: Snarkles.Net Encryption Assortment Kit - Version <?php echo($version); ?><br />
© 2000, 2001, 2002, 2003 <a href="http://snarkles.net">snarkles</a><br />
Download a copy <a href="http://snarkles.net/scripts/sneak/sneak-<?php echo($version); ?>.zip">here</a></font>
</p>
</center>
<!-- end footer -->
</body>
</html>
Gamma Lt MDalby CyberArmy Projects Member Project Volund Administrator Replies:
|
||
| CyberArmy::Forum v0.6 Generated In 0.03748 seconds |