ALTE DOCUMENTE
|
|||||||
HTTP
CGI
HTML
HTTP Hyper Text Transfer Protocol FTP NNTP POP SMTP IMAP WEB Internet WWW
HTTP WEB команды!
HTTP
WEB MIME
Java Visual Basic Script
WEB WEB
HTTP TCP .
HTTP
значение A
значение B
<CRLF>
HTTP HTTP .
GET
lightning prohosting com/~kpnc TCP lightning prohosting com" по восьмидесятому порту и послать серверу следующий запрос: "GET /~kpnc/". Спустя короткий промежуток времени, сервер выдаст ответ, приведенный на копии экрана, показанной ниже, и разорвет соединение:
HTML Uniform Recourse Identifier URI
URI (Uniform Recourse Identifier URL (Uniform Recourse Locator). URL Microsoft www.netscape.com
URL URI URI Файла?параметры&значение 1&значение 2, то есть, URI URL
Поскольку, роль браузера нам приходится играть самостоятельно, вновь подключимся к серверу, и пошлем ему следующий запрос "GET /~kpnc/next.htm HTTP/1.0"
GET /~kpnc/next.htm HTTP/1.0
HTTP/1.1 200 OK
Date: Thu, 13 Apr 2000 11:40:07 GMT
Server: Apache/1.3.6 (Unix)
Last-Modified: Thu, 13 Apr 2000 11:28:20 GMT
ETag: "b13adc-144-38f5af54"
Accept-Ranges: bytes
Content-Length: 324
Connection: close
Content-Type: text/html
<BODY>
<H1>
<HR>
</H1>
<I><B>И</B>дея "единого ножа для швейцарской армии" имеет свои достоинства,
но когда ее доводят до абсурда, этот нож становится камнем на шее.</I>
<BR>
<DIV align=right>
<BR>
"От разработки языков программирования к констуироваию компьютеров"
<HR>
</BODY>
HTTP
Connection close telnet
Connection Keep Alive . Один из способов сделать это, продемонстрирован ниже:
GET /~kpnc/ HTTP/1.0
Connection:Keep-Alive
HTTP/1.1 200 OK
Date: Sat, 15 Apr 2000 06:10:37 GMT
Server: Apache/1.3.6 (Unix)
Last-Modified: Thu, 13 Apr 2000 11:30:04 GMT
ETag: "b139bf-83-38f5afbc"
Accept-Ranges: bytes
Content-Length: 131
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
<BODY>
<BR>
<BR>
<HR>
<H1>
<CENTER>
Helo, Sailor!
</H1>
<BR>
<H2>
Click <A HREF="next.htm">here</A>
</h2>
<HR>
</BODY>
timeout telnet
RFC RFC
GET HTML ее работы. Получить в свое распоряжение содержимое исполняемого файла невозможно (точнее не должно быть возможно), даже если имеются права на его чтение.
Internet Information Server IIS asp Active Server Pages) скриптов добавлением в конце имени знака точки. То есть, если к default.asp www.microsoft.com GET default asp
GET /Default.asp.
<% emailx=request.form("email")
remarkx=request.form("remark")
Conn.Open "Local SQL Server", "sa", "DTide"
Set RS = Conn.Execute("insert into Web_data.dbo.ASP_data(email,remark) values('" & emailx & "','" & remarkx & "')") %>
Your information has been added to our database.
GET default asp ее шестнадцатеричным значением. И только что выпущенная заплатка оказалась бесполезной.
IIS
https://lighning.prohosting.com/~/kpnc cgi bin/helo.pl
/SRC/Hello.pl
#!/usr/local/bin/perl -w
print "Content-type: text/html\n\n";
print "Hello,Sailor!\n";
CGI
Perl r w x x x BIN CGI BIN FTP File Transfer Protocol FTP ), но в подавляющем большинстве случаев ftp ).
PUT , что позволит с успехом им воспользоваться (в Internet PUT
Content length Accept From
PUT graffiti https://lightning.prohosting.com/~kpnc
PUT /~kpnc/ HTTP/1.0
Accept: text\html
From: vasia@bestia.my
Content-type: text/html
<BODY>
<HR>
<H1>
<CENTER>
<IMG SRC="https://www.aport.ru/w_liven.gif">
Здесь был <A HREF="mailto:vasia@bestia.my">Вася</A>...
<IMG SRC="https://www.aport.ru/w_liven.gif">
</H1>
</BODY>
Internet Explorer
Internet
"И взбрело мне (по закрепившейся привычке) поглядеть степень защищенности и (самое главное) степень тупости админа. Для этого я стал юзать (что думаете???) свой любимый Нетскап 3.01 (Браузер Netscape Navigator PUT Internet Explorer а именно директории /scripts и /cgi-bin оказались открытыми"
Story by DiGGertaL SpOOn (Оригинал статьи находится по адресу https://www.hackzone.ru/articles/idaho.html).
Netscape Navigator Microsoft Web Publishing HTTP
PUT PUT PUT
https://kpnc.virtualave.net https://dore.on.ru https://195.161.42.222
PUT /index.html HTTP/1.0
HTTP/1.1 405 Method Not Allowed
Date: Sat, 15 Apr 2000 21:50:26 GMT
Server: Apache/1.2.6
Allow: GET, HEAD, OPTIONS, TRACE
Connection: close
Content-Type: text/html
<HTML>
<HEAD>
<TITLE>405 Method Not Allowed</TITLE>
</HEAD>
<BODY>
<H1>Method Not Allowed</H1>
The requested method PUT is not allowed for the URL /index.html.<P>
</BODY></HTML>
PUT /Index.html HTTP/1.0
HTTP/1.1 403 Access Forbidden
Server: Microsoft-IIS/4.0
Date: Sat, 15 Apr 2000 22:04:25 GMT
Content-Length: 495
Content-Type: text/html
<html>
<head>
<title>Error 403.3</title>
</head>
<body>
<h2>HTTP Error 403</h2>
<p><strong>403.3 Forbidden: Write Access Forbidden</strong></p>
<p>This error can be caused if you attempt to upload to, or modify a file in, a
directory that does not allow Write access.</p>
<p>Please contact the Web server's administrator if the problem persists.</p>
PUT /Index.htm HTTP/1.0
HTTP/1.1 401 Access Denied
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="195.161.42.222"
Content-Length: 644
Content-Type: text/html
<html>
<head>
<title>Error 401.2</title>
<body>
<h2>HTTP Error 401</h2>
<p><strong>401.2 Unauthorized: Logon Faile d due to server configuration</strong>
<p>This error indicates that the credentials passed to the server do not match the
credentials required to log on to the server. This is usually caused by not s
ending the proper WWW-Authenticate header field.</p>
<p>Please contact the Web server's administrator to verify that you have permiss
ion to access to requested resource.</p>
«guest
HTTP RFC RFC
HTTP Access Denied need authenticate[11]
HTTP/1.1 401 Access Denied
WWW-Authenticate: Basic realm="195.161.42.222"
Content-Length: 644
Content-Type: text/html
Basic realm
Authorization
basic base basic . Довольно часто администраторы игнорируют такую угрозу и разрешают метод based , что категорически не рекомендуется в RFC
«The most serious flaw in Basic authentication is that it results in the essentially clear text transmission of the user's password over the physical network. It is this problem which Digest Authentication attempts to address.
Because Basic authentication involves the clear text transmission of passwords it SHOULD never be used (without enhancements) to protect sensitive or valuable information.»
RFC
ASCII
base Windows Outlook Express Base
При этом строка "KPNC:MyGoodPassword"
S BOQzpNeUdvb RQYXNzd yZ
GET / HTTP/1.0
Authorization: Basic S1BOQzpNeUdvb2RQYXNzd29yZ
Internet TCP
SSL Secure Sockets Layer HTTP FTP SMTP
SSL и методов криптоанализа выходит за рамки данной книги. Интересующиеся этим вопросом могут обратиться к домашней станице Павла Семьянова (https://www.ssl.stu.neva.ru/psw/), посвященной криптографии и ее безопасности.
POST PUT GET
<BODY>
<A HREF="lightning.prohosting.com/~kpnc/cgi-bin/post.pl?user=kpnc&pass=saltmine">
Click</A>
</BODY>
GET
POST
ARGV MS DOS Windows , разделенных символами "&". Каждая лексема состоит из и его , разделенных знаком равенства. Все нечитабельные символы заменяются знаком "%" и последующим за ним шестнадцатеричным значением символа. От имени ресурса строка параметров отделяется вопросительным знаком. Сказанное поясняет следующий пример:
lightning.prohosting.com/~kpnc/cgi-bin/post.pl?user=kpnc&pass=saltmine
"lightning.prohosting.com/~kpnc/cgi/-bin/post.pl" URL URN - Uniform Resource Name). URL "lightning.prohosting.com"), ("/~kpnc/cgi-bin/") ("post.pl").
За именем файла следует строка параметров, образованная из двух лексем - "user=kpnc" и "pass=saltmine". Порядок лексем не играет никакой роли, и скрипт будет работать ничуть не хуже, если их поменять местами.
user pass») и его значения («kpnc» и «saltmine» соответственно). Символ пробела в значениях параметра недопустим, поэтому, если потребовалось бы «saltmine , то это выглядело бы так "salt mine
IP x lightning prohosting com xD x A x D xC b
xD xC
ASCII-код, предваренный знаком процента. Так, например, выражение «%32%30%39%2E%39%30%2E%31%32%35%2E%31%39%36» эквивалентно адресу «209.90.125.196»!
IP
https://user:pass@host/path/file
POST POST GET
GET /~kpnc/cgi-bin/post.pl?user=kpnc&pass=saltmine HTTP/1.0
HTTP/1.1 200 OK
Date: Sun, 16 Apr 2000 17:01:10 GMT
Server: Apache/1.3.6 (Unix)
Connection: close
Content-Type: text/html
<H1><CENTER>Simple POST Sample</CENTER>
<HR>USER:<I>kpnc
<BR>PASS:<I>saltmine
POST /~kpnc/cgi-bin/post.pl HTTP/1.0
Content-length:25
user=kpnc
&pass=saltmine
HTTP/1.1 200 OK
Date: Sun, 16 Apr 2000 17:00:34 GMT
Server: Apache/1.3.6 (Unix)
Connection: close
Content-Type: text/html
<H1><CENTER>Simple POST Sample</CENTER>
<HR>USER:<I>kpnc
<BR>PASS:<I>saltmine
POST не способен отделить один параметр от другого и если символ-разделитель «&» опустить, будет обработана только одна лексема - "user=kpnc".
Content length telnet
POST поэтому, он позволяет организовать HTTP PUT
DELETE .
HTTP HTTP RFC
HTTP HEAD GET
Прежде всего, требует пояснения ситуация, связанная с попыткой использования любого метода, с указанием номера новой версии. Например, на запрос "GET /~kpnc/ HTTP/1.1" сервер возвратит сообщение об ошибке 400 - "неверный запрос". Такая ситуация продемонстрирована в примере, приведенном ниже:
GET /~kpnc/ HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Tue, 18 Apr 2000 14:18:41 GMT
Server: Apache/1.3.6 (Unix)
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD>
<BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
client sent HTTP/1.1 request without hostname
(see RFC2068 section 9, and 14.23): /~kpnc/<P>
<HR>
<ADDRESS>Apache/1.3.6 Server at lightning.prohosting.com Port 80</ADDRESS>
</BODY>
</HTML>
RFC поле "Host ("If the Host field is not already present. all Internet-based "HTTP/1.1" servers MUST respond with a 400 status code to any "HTTP/1.1" request message which lacks a Host header field"). . Такой механизм позволяет отличать gateway
kpnc softclub net
TRACE /hello HTTP/1.1
Host:kpnc.softclub.net
HTTP/1.1 200 OK
Date: Tue, 18 Apr 2000 18:37:47 GMT
Server: Apache/1.3.12 (Unix) mod_perl/1.22 AuthMySQL Plus/2.20.2 PHP/3.0.14 rus/PL29.4
Transfer-Encoding: chunked
Content-Type: message/http
TRACE /hello HTTP/1.1
Host: kpnc.softclub.net
TRACE[24] Echo TRACE поле "Age
HTTP www.prohosting.com HTTP HTTP
OPTIONS
OPTIONS * HTTP/1.1
Host:kpnc.softclub.net
HTTP/1.1 200 OK
Date: Tue, 18 Apr 2000 19:00:58 GMT
Server: Apache/1.3.12 (Unix) mod_perl/1.22 AuthMySQL Plus/2.20.2 PHP/3.0.14 rus/PL29.4
Content-Length: 0
Allow: GET, HEAD, OPTIONS, TRACE
GET HEAD OPTIONS TRACE PUT DELETE POST
|