[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:16340] Re: rubyã®LOAD_PATH



ã“ã‚“ã«ã¡ã¯ï¼Œ
 
> > ruby ã® LOAD_PATH ㌠. ã‚’å«ã‚“ã§ã„ã‚‹ã“ã¨ãŒæ°—ã«ãªã£ã¦ã„ã¾ã™ï¼Žä»–ã®è¨€èªžã§
> > ã¯é€šä¾‹ãã†ã„ã†ã“ã¨ã¯ã—ã¦ã„ãªã„ã¨ã„ã†å‰ä¾‹ãŒã‚ã‚‹ã“ã¨ã‹ã‚‰ä½•ã‹è„†å¼±æ€§ãŒã‚ã‚‹
> > ã®ã‹ï¼Œã¨ã„ã†ç‚¹ãŒä¸å®‰ã§ã™ï¼Ž
> 
> ã—ã¦ã„ãªã„ã¨ã„ã†å‰ä¾‹ã£ã¦?

念頭ã«ã‚ã£ãŸã®ã¯ï¼Œ $PATH 㨠$LD_LIBRARY_PATH (/etc/ld.so.conf) ã§ã—ãŸï¼Ž
perl ã‚‚ python ã‚‚åŒæ§˜ã¨ã®å¾¡æŒ‡æ‘˜ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ï¼Ž
 
> perl ã® @INC ã«ã‚‚ . ãŒæœ€å¾Œã«ã‚ã‚Šã¾ã™ã‚ˆã€‚
>  % perl -e 'print "@INC\n"'
>  /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .

よã実行ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‹ã£ã¦ã„るプログラムã§ï¼Œä¸‹è¨˜ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ãŒã‚ã‚Œã°ãƒªã‚¹ã‚¯ãŒã‚ã‚‹ã‹ã¨æ€ã„ã¾ã™ï¼Ž

[12:50:30]dancer64:tmp> cat a.pl
#!/usr/bin/perl -w

BEGIN {
        eval qq {
        use XXXX ;
        };
        if ($@)
        {
                 print STDERR "feature XXXX not available\n" ;
        }
}
[12:50:34]dancer64:tmp> ./a.pl
feature XXXX not available

> ã‚€ã—ã‚ python ã®ã»ã†ãŒ current directory ãŒå…ˆé ­ã«ã‚ã£ã¦ã‚„ã°ãã†ã§ã™ã€‚

exploitを書ã„ã¦ã¿ã¦ï¼Œstraceã§ç¢ºèªã—ã¦ã¿ãŸã®ã§ã™ãŒï¼Œã©ã†ã‚‚挙動ãŒæœŸå¾…ã—ã¦ã„ã‚‹ã‚‚ã®ã¨ã¯é•ã†ã‚ˆã†ã§ã™ï¼Ž
ã“ã®æŒ™å‹•ã¯ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã¿ã‚‹ã¨ã‘ã£ã“ã†ç´ ç›´ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“.
./XXXX ã¨ã—ã¦å®Ÿè¡Œã—ãŸå ´åˆã¨ï¼Œãã†ã§ãªã„å ´åˆã§å‡¦ç†ãŒã‚ã‹ã‚Œã¦ã„るよã†ã§ã™ï¼Ž

[12:39:00]dancer64:tmp> apt-listchanges  # /usr/bin/apt-listchangesを実行ã—ãŸå ´åˆ
Usage: apt-listchanges [options] {--apt | filename.deb ...}
[12:39:33]dancer64:tmp> /usr/bin/apt-listchanges
Usage: apt-listchanges [options] {--apt | filename.deb ...}
[12:39:08]dancer64:tmp> ./apt-listchanges # /usr/bin/apt-listchangesをカレントディレクトリã«ã‚³ãƒ”ーã—ã¦ããŸå ´åˆ
hello r00t

hello r00t

Traceback (most recent call last):
  File "./apt-listchanges", line 218, in ?
    main()
  File "./apt-listchanges", line 44, in main
    config = apt_listchanges.Config()
AttributeError: 'module' object has no attribute 'Config'


[12:39:10]dancer64:tmp> cat apt_listchanges.py
print "hello r00t\n"

[12:39:23]dancer64:tmp> cat apt_pkg.py
print "hello r00t\n"



上å·
-- 
dancer@{debian.org,netfort.gr.jp}   Debian Project