Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

06.02.2009, 21:15
|
|
Участник форума
Регистрация: 19.02.2008
Сообщений: 186
Провел на форуме: 584540
Репутация:
96
|
|
Text2Hex на Perl! Help!
Ребят, помогите пожалуйста, в скрипте нужно перевести данные из text в hex (тут могу ошибаться) т.е. в формат который используется при mysql injection 
Например
admin в 0x61646D696E
Стандартная функция hex почему то переводит не верно.
Например:
admin в 173.
Есть скрипт на PHP, может кому то поможет понять суть и помочь:
[QUOTE]<?
$fout=fopen('url_in_HEX.txt','a+');
$source_column2 = fopen('source.txt','r');
$source_column1 = fgets($source_column2);
fwrite ($fout,$source_column1 . "\r");
fclose($source_column2);
function ascii2hex($ascii) {
$hex = '';
for ($i = 0; $i < strlen($ascii); $i++) {
$byte = strtoupper(dechex(ord($ascii{$i})));
$byte = str_repeat('0', 2 - strlen($byte)).$byte;
$hex.=$byte." ";
}
return $hex;
}
$source_column2 = ascii2hex($source_column1);
$patterns[0] = "/ /";
$replacements[0] = "";
$source_column3 = preg_replace($patterns, $replacements, $source_column2);
$source_column3 = "0x$source_column3";
$patterns[0] = "/ /";
$replacements[0] = "%";
$source_column4 = preg_replace($patterns, $replacements, $source_column2);
$source_column4 = "%$source_column4";
echo "\n";
echo $source_column3;
echo "\n";
echo $source_column4;
echo "\n";
fwrite ($fout,$source_column3 . "\r");
fwrite ($fout,$source_column4 . "\r");
fclose($fout);
?>/QUOTE]
Волонтеру +++ гарантирован 
|
|
|

06.02.2009, 21:31
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
На php всё гораздо проше -
<?
echo '0x'.bin2hex($text);
?>
|
|
|

06.02.2009, 21:47
|
|
Участник форума
Регистрация: 19.02.2008
Сообщений: 186
Провел на форуме: 584540
Репутация:
96
|
|
Вопрос решен!
#!/bin/perl
use strict;
use warnings;
my $str = "some string";
my $hex = unpack('H*', "$str");
my $len = length($hex);
my $start = 0;
print "x'";
while ($start < $len) {
print substr($hex,$start,2);
$start += 2;
}
print "'\n";
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|