|
From: <a-i...@no...> - 2001-07-03 16:35:28
|
Thanks for your advices. well I have read perlsec and stuff about tainted
variables. But I don't really have time to change my code since my course
project is due this Thursday. I am just trying to implement this key and
encryption functions besides the regular e-commerce site. Now I think I am
getting closer to find out a working - but probably not as secure as it sounds
- implementation. First of all when I run the cgi script as setuid (I have
created the script as a root) I got this error message before generating the
key
Insecure $ENV{PATH} while running setuid at
/usr/lib/perl5/site_perl/5.6.0/Expect.pm line 114. This is where expect
executes the spawn command.
if I run the perl script as normal permissions (execute for owner, others and
users) then I received to different responses depending that I am connected to
the net or not. If I am, right after expect module finishes generating the pgp
key something happens and I start seeing on my web browser thousands of "key
generation completed" string without stopping and I have to hit the stop
button. If I am not connected to the net and run the script from localhost.
Everything is fine except that since I am not connected to the net it doesn't
send the encrypted purchase orders via email.
Funny thing is when I run the script with given information on the command line
and disabling cgi module then it runs perfectly(even sends the email) from both
apache user and as a root. I don't really know what to do. So what do you
think is the problem? thanks
aziz
>
> Aziz Ihsanoglu wrote:
> >
> > thanks for warning me for the security issues. What I am trying to do is
> > building an e-commerce for my course project. It requires that the
customers
> > should sign the purchase order and mail it to the orders department so he
> > cannot deny that he did the order. That's why I have to generate keys for
> > every customer when they register to the site.
>
> OK, it's only for a course, but this design has severe security flaws
> in it. How exactly are you verifying your customers identity when he
> registers at your website? The best you can do is to verify his address
> by sending him a password via postal mail and/or his phone number by
> calling him back. Just letting anybody register and giving them a
> key for later perusal doesn't buy anything security-wise.
>
> Also, are you requiring that your customers install PGP? Not a good choice.
> PGP needs too much technical expertise to handle and install.
> I would use other ways: you can have the webbrowser create a key pair,
> sending the public part to your server and storing the private part.
> Netscape uses a <KEYGEN> HTML tag, don't know about Explorer.
>
> Only my EUR 0.02
>
> > I couldn't find any ways
> > doing this without using expect. I actually solved that part with send_slow
> > function and some loops. but my cgi script is not working great from
> > apache. when I run it with root access it doesn't have any problem. I tried
> > to setuid the script but it gives an error on the 114th line of the
> > expect.pm.
>
> It would have been helpful if you had posted the error message...
>
> > What do you think is problem. ANy help would be appreciated/
> > Thank you.
>
> I guess it's a tainting problem. Some part of the command given to
> spawn comes from an unreliable source and is thus tainted. See
> 'perldoc perlsec'...
>
> Hope this helps,
>
> Roland
>
> > >
> > > a-i...@no... wrote:
> > > >
> > > > I have a small problem with expect.pm. I am using expect module to
create pgp
> > > > keys with my pgp program. The problem is since expect just enters the
data with
> > > > constant time, pgp cannot doesn't collect enough random data and that's
why
> > > > cannot create the keys instantly and requires user to enter some random
data
> > > > from the keyboard. I tried to print some long random text but pgp
doesn't get
> > > > any of it. I think it requires the random data to be inputted from the
> > > > keyboard. Is there any way to do that? Any help would be appreciated.
Thanks in
> > > > advance.
> > >
> > > Well, this isn't supposed to work that way. PGP does everything to get
> > > real random numbers by timing the user keystrokes, and this requires
> > > low-level interaction wiht the keyboard driver, circumventing the regular
> > > pty that Expect uses.
> > >
> > > So basically, this is a PGP issue: if you can get PGP to not query the
user
> > > for random bits, then it is doable.
> > >
> > > On the other hand: why would you want to automate such a
security-sensitive
> > > action? The keys are to be protected by a pass-phrase, which should be
> > > kept secret by all means, so automating this is counter-productive.
> > > Creating a public/secret key pair is analogue to opening a bank account,
> > > something that you don't do on a daily basis either.
> > >
> > > Hope this helps,
> > >
> > > Roland
> > > --
> > > RGi...@cp...
> > >
> > > _______________________________________________
> > > Expectperl-discuss mailing list
> > > Exp...@li...
> > > http://lists.sourceforge.net/lists/listinfo/expectperl-discuss
> > >
>
> --
> RGi...@cp...
>
> _______________________________________________
> Expectperl-discuss mailing list
> Exp...@li...
> http://lists.sourceforge.net/lists/listinfo/expectperl-discuss
>
|