|  |
| |
| nsh009 |
변수 |
2011/06/17 |
|
kjwon15 |
$var="some text ; cat /etc/passwd >> /var/www/passwd.txt";
이런식으로 한다면 문제가 발생하죠 |
2011/06/17 |
|
| 늅늅 |
var가 사용자 입력을 받는변수가 아니라면야
;cat /etc/passwd >> /var/www/passwd.txt
같은것이 뭐 통하리라고는 생각되지않는데
hello $var 로 봐서는 사용자의 이름을 입력받고 hello 이름
이런식으로 하실 것같네요 그런경우에는 kjwon15님이 말씀하신것과 같은 취약점이 존재합니다
이름에는 특수문자가 들어갈 확률이 거의 없으므로 (중국에서 예전에 이름을 @ 로 지은사례있음)
addslashes 함수로 대비해놓으시면 될듯싶습니다 |
2011/06/17 |
|
| bigshott |
그렇게는 해봤지만 안됩니다. kjwon15님 처럼 넣는다고 해도
system("echo 'hello some text ; cat /etc/passwd >> /var/www/passwd.txt'");
이런식으로 ' ' 안에 들어가기 때문에 그대로 화면에
hello some text ; cat /etc/passwd >> /var/www/passwd.txt
이렇게 찍혀서 나오게 됩니다.
취약점이 없는거 같기도 한대요~ 구글링 몇일째 하고 있어도 답이 안나오네요 ㅜㅠ
바쁘신데 답변 주셔서 정말 감사드립니다.
좋은 하루 되세요~ |
2011/06/21 |
|