Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 417

/ вопрос открыт /

Здравствуйте!
Имею исходник cgi сканера.Что нужно изменить или добавить,чтобы сканировать диапазон адресов?

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7. Psock, StdCtrls, ComCtrls, ExtCtrls, Buttons;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Edit1: TEdit;
  12. Edit2: TEdit;
  13. Edit3: TEdit;
  14. s1: TPowersock;
  15. Panel1: TPanel;
  16. ProgressBar1: TProgressBar;
  17. memo1: TMemo;
  18. SpeedButton1: TSpeedButton;
  19. SpeedButton2: TSpeedButton;
  20. Label1: TLabel;
  21. CheckBox1: TCheckBox;
  22. Edit5: TEdit;
  23. SpeedButton3: TSpeedButton;
  24. procedure Button1Click(Sender: TObject);
  25. procedure FormCreate(Sender: TObject);
  26. procedure Button2Click(Sender: TObject);
  27. procedure CheckBox1Click(Sender: TObject);
  28. procedure SpeedButton3Click(Sender: TObject);
  29. private
  30. { Private declarations }
  31. public
  32. { Public declarations }
  33. end;
  34.  
  35. var
  36. Form1: TForm1;
  37. stop:boolean=false;
  38. i:integer;
  39. dat:string;
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. procedure TForm1.Button1Click(Sender: TObject);
  45. var
  46. f:textfile;
  47. host, str, stuff:string;
  48. i:integer;
  49. begin
  50. //Disable all
  51. edit1.Enabled := true;
  52. edit2.Enabled := checkbox1.Checked;
  53. edit3.Enabled := checkbox1.Checked;
  54. checkbox1.Enabled := false;
  55. speedbutton1.Enabled := false;
  56. speedbutton2.Enabled := true;
  57. speedbutton3.Enabled := false;
  58.  
  59. //What about proxy?
  60. if checkbox1.Checked then
  61. begin
  62. s1.Host := edit2.text;
  63. s1.Port := strtoint(edit3.text);
  64. end else
  65. begin
  66. s1.Host := edit1.text;
  67. s1.Port := strtoint(edit5.text);
  68. end;
  69.  
  70. //Let's scan!
  71.  
  72.  
  73. progressbar1.Position := 0;
  74. stop:=false;
  75. assignfile(f,'cgi.lst');
  76. reset(f);
  77. while not eof(f) do
  78. try
  79. if stop then
  80. begin
  81. progressbar1.Position := 0;
  82. closefile(f);
  83.  
  84.  
  85. exit;
  86. end;
  87. s1.Connect;
  88. readln(f,str);
  89. if checkbox1.checked then
  90. begin
  91. s1.Writeln('HEAD http://'+edit1.text+str+' HTTP/1.0'#10#10);
  92. end else
  93. begin
  94. s1.Writeln('HEAD '+str+' HTTP/1.1'#10'Host: localhost'#10#10);
  95. end;
  96. stuff:=s1.ReadLn;
  97.  
  98. if (pos('200',stuff)<>0) or (pos('500',stuff)<>0)
  99.  
  100. progressbar1.StepIt;
  101. application.ProcessMessages;
  102. s1.Disconnect;
  103. except
  104.  
  105. if s1.Connected then s1.Disconnect;
  106. application.ProcessMessages;
  107. end;
  108. closefile(f);
  109. end;
  110.  
  111. procedure TForm1.FormCreate(Sender: TObject);
  112. var
  113. f:textfile;
  114. str:string;
  115. begin
  116. i:=0;
  117. assignfile(f,'cgi.lst');
  118. try
  119. reset(f);
  120.  
  121. except
  122.  
  123. end;
  124. while not eof(f) do
  125. begin
  126. readln(f,str);
  127. inc(i);
  128. end;
  129. progressbar1.Max := i;
  130. closefile(f);
  131. memo1.Lines.Clear;
  132.  
  133. memo1.Lines.Add(dat);
  134.  
  135. end;
  136.  
  137. procedure TForm1.Button2Click(Sender: TObject);
  138. begin
  139. stop:=true;
  140. edit1.Enabled := true;
  141. edit2.Enabled := checkbox1.Checked;
  142. edit3.Enabled := checkbox1.Checked;
  143. checkbox1.Enabled := true;
  144. speedbutton1.Enabled := true;
  145. speedbutton2.Enabled := false;
  146. speedbutton3.Enabled := true;
  147. end;
  148.  
  149. procedure TForm1.CheckBox1Click(Sender: TObject);
  150. begin
  151. edit2.Enabled := checkbox1.Checked;
  152. edit3.Enabled := checkbox1.Checked;
  153. end;
  154.  
  155. procedure TForm1.SpeedButton3Click(Sender: TObject);
  156. begin
  157. memo1.Lines.Clear;
  158.  
  159. memo1.Lines.Add(dat);
  160.  
  161. end;
  162.  
  163. end.
  164.  


pupkov/sergafan Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: pupkov/sergafan (статус: Посетитель)
Вопрос отправлен: 19 ноября 2009, 12:53
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 19 ноября 2009, 13:27; участников в обсуждении: 2.
Amidamaru

Amidamaru (статус: 4-ый класс), 19 ноября 2009, 13:23 [#1]:

У меня нету TPowersock, поэтому не могу проверить.
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
Вадим К

Вадим К (статус: Академик), 19 ноября 2009, 13:27 [#2]:

Я код могу поправить (и powersock тому не проблема). просто код потенциально опасный, и если вопрошающий не может его поправить, то я думаю, не стоит для него доделывать "оружие".
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:31
Выполнено за 0.02 сек.