┼±δΦ ┬√ αß±εδ■≥φε φσ Φ∞σσ≥σ φΦΩαΩεπε ε∩√≥α ≡αßε≥√ ± Unix, ┬√ ∞εµσ≥σ ∩ε∩≡ε±Φ≥ⁿ Ωεπε-δΦßε, Φ∞σ■∙σπε ⌡ε≥ ß√ φσ∞φεπε τφαφΦΘ ∩ε Unix, ∩ε∞ε≈ⁿ ┬α∞ ± ≤±≥αφεΓΩεΘ ∞εΣ≤δ . ╧≡ε÷σ±± Φφ±≥αδδ ÷ΦΦ φα±≥εδⁿΩε ∩≡ε±≥, φα±ΩεδⁿΩε ²≥ε Γετ∞εµφε, φε ≥αΩ ΩαΩ ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ ±Φδⁿφε ≡ατδΦ≈ασ≥± Φ ταΓΦ±Φ≥ ε≥ ≡ Σα Ωε∞∩εφσφ≥ ±Φ±≥σ∞√, ≤±≥αφεΓΩα φσ Γ±σπΣα ∩≡ε⌡εΣΦ≥ πδαΣΩε φα ≡ατφ√⌡ ±Φ±≥σ∞α⌡. ┬ετ∞εµφε ┬α∞ ∩ε≥≡σß≤σ≥± ∩ε∞ε∙ⁿ Ωεπε-δΦßε, Ω≥ε ⌡ε≡ε°ε ≡ατßΦ≡ασ≥± Γ ±Φ±≥σ∞σ.
- ╠εµσ≥σ δΦ ┬√ Γ√∩εδφ ≥ⁿ εßα ∞σ≥εΣα GET Φ POST Φτ ∩≡επ≡α∞∞√ cgi
φα Γα°σ∞ ±σ≡Γσ≡σ?
▌≥ε φσ Γαµφε, σ±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ
Apache. ┼±δΦ φσ≥, ┬√ φσ ±∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ ²≥ε≥ ∩αΩσ≥. ╙ ∞φεπΦ⌡ ISP
CGI ±Ω≡Φ∩≥√ ≥αΩµσ τα∩≡σ∙σφ√ ΦδΦ ±≥≡επε επ≡αφΦ≈σφ√. ┼±δΦ φα
Γα°σΘ ±Φ±≥σ∞σ Σσδε εß±≥εΦ≥ Φ∞σφφε ≥αΩ, ∩επεΓε≡Φ≥σ ± Γα°Φ∞
±Φ±≥σ∞φ√∞ αΣ∞ΦφΦ±≥≡α≥ε≡ε∞ Φ ∩ε∩≡ε±Φ≥σ, ≈≥εß√ εφ(εφα) Γτπδ φ≤δ(α)
φα ²≥ε≥ ∩αΩσ≥, ∞εµσ≥ εφ(εφα) ≤±≥αφεΓΦ≥ σπε Σδ ┬α±.
- ┼±δΦ φα Γα°σΘ ±Φ±≥σ∞σ ≤±≥αφεΓδσφ mSQL, ≥ε Γα∞ φ≤µφε τφα≥ⁿ σπε ε±φεΓφεΘ Ωα≥αδεπ.
- ┼±δΦ φα Γα°σΘ ±Φ±≥σ∞σ ≤±≥αφεΓδσφ Postgres95, ≥ε Γα∞ ≥εµσ φ≤µφε τφα≥ⁿ σπε ε±φεΓφεΘ Ωα≥αδεπ.
- ┼±δΦ ┬√ ±εßΦ≡ασ≥σ±ⁿ ⌡≡αφΦ≥ⁿ δεπ-⌠αΘδ Φ ⌠αΘδ√ Ωεφ⌠Φπ≤≡α÷ΦΦ Σε±≥≤∩α Γ Ωα≥αδεπσ, ±∞εφ≥Φ≡εΓαφφε∞ ∩ε NFS, Φ Γα°α ±Φ±≥σ∞α φσ εßσ±∩σ≈ΦΓασ≥ ßδεΩΦ≡εΓαφΦσ ⌠αΘδεΓ ∩ε NFS - ┬α∞ φ≤µφε ß≤Σσ≥ ε∩≡σΣσδΦ≥ⁿ ∩σ≡σ∞σφφ≤■ NFS_HACK Γ≡≤≈φ≤■ Γ ⌠αΘδσ src/Makefile, Φ, Γετ∞εµφε, ∩≡ΦΣσ≥± Φ±∩εδⁿτεΓα≥ⁿ φσ∞φεπε Φτ∞σφσφφ≤■ Γσ≡±Φ■ ßΦßδΦε≥σΩΦ gdbm. ╤∞. ⌠αΘδ nfs_hack.txt Γ Ωα≥αδεπσ doc Σδ ßεδσσ ∩εΣ≡εßφεΘ Φφ⌠ε≡∞α÷ΦΦ ε≥φε±Φ≥σδⁿφε ²≥επε.
- ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε, σ±δΦ ┬√ φσ ταΦφ≥σ≡σ±εΓαφ√, ≈≥εß√ ∞εΣ≤δⁿ PHP ε≥±δσµΦΓαδ Σε±≥≤∩ Ω Γα°Φ∞ ±≥≡αφΦ÷α∞, ε≥Ωδ■≈Φ≥σ ²≥≤ ε∩÷Φ■ ∩σ≡σΣ Ωε∞∩Φδ ÷ΦσΘ. ┬√ Σεδµφ√ ≥αΩµσ ε≥Ωδ■≈Φ≥ⁿ ε∩÷Φ■ επ≡αφΦ≈σφΦ Σε±≥≤∩α. ╧≡Φ ΓΩδ■≈σφΦΦ ²≥Φ⌡ ε∩÷ΦΘ φαßδ■Σα■≥± τφα≈Φ≥σδⁿφεσ ±φΦµσφΦσ ∩≡εΦτΓεΣΦ≥σδⁿφε±≥Φ.
- ┼±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ Apache, ┬α∞ φσεß⌡εΣΦ∞ε τφα≥ⁿ ≡α±∩εδεµσφΦσ Ωα≥αδεπα ± Φ±⌡εΣφ√∞Φ ≥σΩ±≥α∞Φ Apache.
┬√∩εδφΦ≥σ ∩≡επ≡α∞∞≤ ≤±≥αφεΓΩΦ: ./install
┬α∞ ß≤Σσ≥ ταΣαφ ≡ Σ Γε∩≡ε±εΓ. ┼±δΦ ┬√ Φ⌡ φσ ∩εφΦ∞ασ≥σ, ≥ε ∩≡ε±≥ε φαµΦ∞αΘ≥σ "Return". ╟αΣαφφ√Θ ∩ε ≤∞εδ≈αφΦ■ φαßε≡ Σεδµσφ ≤ΣεΓδσ≥Γε≡ ≥ⁿ ≥≡σßεΓαφΦ Σδ ßεδⁿ°Φφ±≥Γα ±Φ±≥σ∞. ▌≥ε εΣφαΩε φσ Φ∞σσ≥ ε≥φε°σφΦ Ω Γε∩≡ε±α∞, ε∩≡σΣσδ ■∙Φ∞ Ωα≥αδεπ Σδ Γα°Φ⌡ Ωεφ⌠Φπ≤≡α÷Φεφφ√⌡ Φ δεπ ⌠αΘδεΓ. ┬√ßσ≡Φ≥σ δ■ßεΘ Ωα≥αδεπ, Ω Ωε≥ε≡ε∞≤ httpd (εß√≈φε ∩εδⁿτεΓα≥σδⁿ "nobody") Φ∞σσ≥ Σε±≥≤∩ ∩ε τα∩Φ±Φ. ┬√ ∞εµσ≥σ ±ετΣα≥ⁿ ²≥ε≥ Ωα≥αδεπ Γ≡≤≈φ≤■ πΣσ-φΦß≤Σⁿ Φ ∩≡ε±≥ε ±∞σφΦ≥ⁿ ΓδαΣσδⁿ÷α ± ∩ε∞ε∙ⁿ■ Ωε∞αφΣ√ chown nobody catalog .
╪απ 2.
┬εΘΣΦ≥σ Γ Ωα≥αδεπ src: cd src
╪απ 3.
┬ΓσΣΦ≥σ Ωε∞αφΣ≤: make
╧ε ≤∞εδ≈αφΦ■ ß≤Σσ≥ ±ετΣαφ ⌠αΩ≥Φ≈σ±ΩΦΘ Γ√∩εδφΦ∞√Θ ∩≡επ≡α∞∞φ√Θ ⌠αΘδ, Φ∞σφεΓαφφ√Θ php.cgi , ΦδΦ σ±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ Apache, ß≤Σσ≥ ±ετΣαφ libphp.a ⌠αΘδ.
╪απ 4. (┼±δΦ ┬√ φσ ≤±≥αφαΓδΦΓασ≥σ ∩αΩσ≥ Γ ΓΦΣσ ∞εΣ≤δ Apache)
╤Ωo∩Φ≡≤Θ≥σ ⌠αΘδ php.cgi Γ Ωα≥αδεπ cgi-bin Γα°σΘ ±Φ±≥σ∞√. ┼±δΦ ≤ Γα± φσ≥ ∩≡αΓ ±Σσδα≥ⁿ ²≥ε Φ Γ√ µσδασ≥σ ≤±≥αφεΓΦ≥ⁿ ∩αΩσ≥ Γ Γα° ±εß±≥Γσφφ√Θ ∩σ≡±εφαδⁿφ√Θ Ωα≥αδεπ, Γ√ ∞εµσ≥σ ±Σσδα≥ⁿ ²≥ε, φε Γ ≥αΩε∞ ±δ≤≈ασ φ≤µφε ≤±≥αφεΓΦ≥ⁿ setuid ßΦ≥ Σδ Γ√∩εδφ σ∞εΘ ∩≡επ≡α∞∞√ Ωε∞αφΣεΘ: chmod u+s /path/php.cgi
┼±δΦ ┬√ φσ ≤±≥αφεΓΦ≥σ setuid ßΦ≥ Σδ Γ√∩εδφ σ∞επε ⌠αΘδα, ≥ε δ■ß√σ ⌠αΘδ√, ±ετΣαφφ√σ ∩≡επ≡α∞∞εΘ ß≤Σ≤≥ ∩≡ΦφαΣδσµα≥ⁿ ∩εδⁿτεΓα≥σδ■ ± ΦΣσφ≥Φ⌠ΦΩα≥ε≡ε∞, ∩εΣ Ωε≥ε≡√∞ Γ√∩εδφ σ≥± web ±σ≡Γσ≡. ┼±δΦ ²≥ε ∩≡Φσ∞δσ∞ε, ≥ε Γ√ ∞εµσ≥σ ±∩εΩεΘφε ε±≥αΓΦ≥ⁿ setuid ßΦ≥.
╪απ 4. (┼±δΦ ┬√ ≤±≥αφαΓδΦΓασ≥σ ∩≡επ≡α∞∞≤ Γ ΓΦΣσ ∞εΣ≤δ Apache)
╧σ≡σΘΣΦ≥σ Γ Ωα≥αδεπ src Apache, Γ Ωε≥ε≡√Θ Σεδµφ√ ß√≥ⁿ ±Ωε∩Φ≡εΓαφ√ ⌠αΘδ√ mod_php.c Φ mod_php.h. ┼±δΦ εφΦ σ∙σ φσ ß√δΦ ±Ωε∩Φ≡εΓαφ√, ≈≥ε ∞εµσ≥ ∩≡εΦτεΘ≥Φ Φτ-τα ∩≡εßδσ∞ ± ∩≡αΓα∞Φ Σε±≥≤∩α, ±Ωε∩Φ≡≤Θ≥σ ²≥Φ ΣΓα ⌠αΘδα Γ≡≤≈φ≤■. ╧εΣ≡σΣαΩ≥Φ≡≤Θ≥σ Γα° ⌠αΘδ ╩εφ⌠Φπ≤≡α÷ΦΦ Apache (Configuration), Φ ΣεßαΓⁿ≥σ Γ ±≥≡εΩ≤ EXTRA_LIBS libphp.a, Ωε≥ε≡α ß√δα ±ετΣαφα Γ Ωεφ÷σ ╪απα 3. └ ≥αΩµσ ΣεßαΓⁿ≥σ ±≥≡εΩ≤:
Module php_module mod_php.o
Γ ±α∞ε∞ Ωεφ÷σ ⌠αΘδα. ╟α≥σ∞ ΓΓσΣΦ≥σ: ./Configure Φ τα≥σ∞ make , ≈≥εß√ ∩σ≡σΩε∞∩ΦδΦ≡εΓα≥ⁿ Γα° ⌠αΘδ httpd Apache. ╚φ±≥αδδΦ≡≤Θ≥σ ²≥ε≥ ⌠αΘδ.
╟α≥σ∞ ┬α∞ φ≤µφε ∩εΣ≡σΣαΩ≥Φ≡εΓα≥ⁿ Γα° Apache conf/srm.conf ⌠αΘδ Φ ΣεßαΓΦ≥ⁿ ±≥≡εΩ≤ :
AddType application/x-httpd-php .phtml
▌≥ε ε∩≡σΣσδ σ≥ φεΓ√Θ MIME ≥Φ∩, application/x-httpd-php, Ωε≥ε≡√Θ ß≤Σσ≥ Γ√τ√Γα≥ⁿ ∞εΣ≤δⁿ PHP, Σδ εß≡αßε≥ΩΦ δ■ßεπε ⌠αΘδα ± ≡α±°Φ≡σφΦσ∞ .phtml. ┬√ ∞εµσ≥σ Γ√ß≡α≥ⁿ δ■ßεσ ≡α±°Φ≡σφΦσ, Ωε≥ε≡εσ Γα∞ ∩ε Σ≤°σ.
╠εµφε ±Σσδα≥ⁿ ≥αΩ, ≈≥εß√ φσ Γ±σ ∞επδΦ Γ√∩εδφ ≥ⁿ PHP ⌠αΘδ√. ─δ ²≥επε Γ√ ∞εµσ≥σ ∩ε∞σ±≥Φ≥ⁿ Γ√°σ≤∩ε∞ φ≤≥≤■ AddType ±≥≡εΩ≤ Γφ≤≥≡Φ <Location/path > .... < /Location > ΣΦ≡σΩ≥ΦΓ√ Γ access.conf ⌠αΘδσ, ≈≥εß√ ≥εδⁿΩε Γ ε∩≡σΣσδσφφ√⌡ ΣΦ≡σΩ≥ε≡Φ ⌡ Γα°σπε ±σ≡Γσ≡α PHP ∞επ εß≡αßα≥√Γα≥ⁿ ΣεΩ≤∞σφ≥√.
╥σ∩σ≡ⁿ ┬√ πε≥εΓ√ ∩σ≡στα∩≤±≥Φ≥ⁿ Γα° httpd ±σ≡Γσ≡. ─δ ßεδσσ ∩εΣ≡εßφεΘ Φφ⌠ε≡∞α÷ΦΦ ±∞. ∩≡Φ∞σ≈αφΦ ∩ε Ωεφ⌠Φπ≤≡Φ≡εΓαφΦ■ ∞εΣ≤δ Apache.
╧ε±δσ ≤±≥αφεΓΩΦ Γ√ ∞εµσ≥σ ∩≡ε≥σ±≥Φ≡εΓα≥ⁿ, ≡αßε≥ασ≥ δΦ Γα°α ∩≡επ≡α∞∞α, ΓΓσΣ URL, ∩εΣεßφ√Θ ±δσΣ≤■∙σ∞≤ Γ Γα°σ∞ ß≡ε≤τσ≡σ:
http://your.site.domain/cgi-bin/php.cgi
╧≡Φ ²≥ε∞ Σεδµφα ∩εΩατα≥ⁿ± ±≥≡αφΦ÷α, Ωε≥ε≡α ±εΣσ≡µΦ≥ φε∞σ≡ Γσ≡±ΦΦ φα≡ Σ≤ ± Σ≡≤πεΘ ∩εδστφεΘ Φφ⌠ε≡∞α÷ΦσΘ.
╫≥εß√ ∩≡εΓσ≡Φ≥ⁿ ≡αßε≥≤ ∞εΣ≤δ Apache, ±ετΣαΘ≥σ δ■ßεΘ ⌠αΘδ ± .phtml ≡α±°Φ≡σφΦσ∞, ∩ε∞σ±≥Φ≥σ Γ φσπε ≥²π ∩εΣεßφε: <?phpinfo () > Φ ∩ε±∞ε≥≡Φ≥σ ß≤Σσ≥ δΦ εφ αφαδΦτΦ≡εΓα≥ⁿ± .
http://your.site.domain/cgi-bin/php.cgi/path/file.html
┬α∞ φ≤µφε Γτπδ φ≤≥ⁿ φα ≡ατΣσδ ╧σ≡σαΣ≡σ±α÷Φ CGI ²≥εΘ ΣεΩ≤∞σφ≥α÷ΦΦ. ╧≡Φ Γ√∩εδφσφΦΦ PHP/FI ± ∩σ≡σαΣ≡σ±α÷ΦσΘ Γ√ ∞εµσ≥σ αΓ≥ε∞α≥Φ≈σ±ΩΦ ταΣαΓα≥ⁿ ≈≥εß√ URL ∩εΣεßφε http:/your.site.domain/file.phtml ∞επ αφαδΦτΦ≡εΓα≥ⁿ± PHP/FI.
▌≥ε φσ ε≥φε±Φ≥± Ω ∩εδⁿτεΓα≥σδ ∞ ∩≡επ≡α∞∞√, Γ√∩εδφσφφεΘ Γ ΓΦΣσ ∞εΣ≤δ Apache.
[═αταΣ] [╤εΣσ≡µαφΦσ] [┬∩σ≡σΣ]