![]() |
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] Волонтеру +++ гарантирован :) |
На php всё гораздо проше -
<? echo '0x'.bin2hex($text); ?> |
Вопрос решен!
#!/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"; |
| Время: 09:10 |