sql injection을 막기 위해서 어떻게 해야 하나요?
글쓴이: kjw7945 / 작성시간: 토, 2005/07/09 - 4:21오후
OS : Linux Fedora Core 2
My SQL을 사용하고 있습니다.
SQL Injection이 무엇인지 알았는데요.
그럼 그것을 막기 위해서는 특정 Sql Injection 문자열을
금지어로 추가시키면 될 듯 하는데 그 작업을 어디서
해야 하는지 어느 파일에서 설정을 할 수 있는지 잘 모르겠습니다.
이와 비슷한 것으로 php도 금지 명령어를 넣을 수 있을 듯 하는데
어디서 해야 하는지 php도 찾기 힘드네요...
어디서 해야 하는지요..??
Forums:
금지어로 등록할 필요까지는 없습니다...싱글 쿼텐션을 잘 익스케잎 시
금지어로 등록할 필요까지는 없습니다...
싱글 쿼텐션을 잘 익스케잎 시켜주기만 하면 됩니다...
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
매번 같은 분께서 답변을 달아주시네요.감사합니다. ^^[c
매번 같은 분께서 답변을 달아주시네요.
감사합니다. ^^
싱글 쿼텐션을 잘 익스케잎 시켜주기만 하면 됩니다...
이 부분이 잘 이해가 안가는데 무슨 의미인지 조그만 더
설명해 주시면 안될련지요.
sql injection 이 어떤 원리로 이루어지는지 아직 완전하게 이해
sql injection 이 어떤 원리로 이루어지는지 아직 완전하게 이해는 못하신 듯 하군요...
뭐 하튼 답은
http://www.webmasterstop.com/63.html
위에 있는 페이지에 있는 것들만으로 간단하게 해결이 가능합니다 ;)
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
혹시 따옴표 슬쩍 해서 sql 문 실행하는것 말인가요?addsla
혹시 따옴표 슬쩍 해서 sql 문 실행하는것 말인가요?
addslashes() 해도 좋고,
mysql_escape_string() 으로 하면 깔끔하고...
https://xenosi.de/
홑따옴표 얘깁니다' 를 없애라는 얘긴데저것만으로는 충분하지
홑따옴표 얘깁니다
' 를 없애라는 얘긴데
저것만으로는 충분하지 못합니다
숫자와 영문자 외에는 모두 필터링 되게 하는것이 더 좋습니다.
차후에 어떤 문제가 생길지 모르니까요
' " ` 등은 기본적으로 처리하고
$ & 등도 제거하는게 좋습니다.
제일 좋은건 받아들여햘것이 아니면 제거하는게 더 좋지요
mysql_escape_string() MySQL 에서 제공하는거니 안심
mysql_escape_string() MySQL 에서 제공하는거니 안심해도 될듯 한데요.
https://xenosi.de/
sql injection 방어에 대한 구체적인 답이 없는게 이상합니다.
mssql,asp에서 방어법을 설명해보면
1] ms-sql user 권한에서 xmd_shell 등등의 master에 있는 sp를 실행못하게 sa가 아닌 user를 하나 만들고 권한을 insert,update, delete만 하게끔 하면 됩니다.
이렇게 되면 drop이나 create 가 실행되는 건 막을 수 있죠!
(다시 말해 get,post방식으로 넘어오는 string 검색을 할필요가 없습니다.
(조금 다른 방법: master에 있는 sp에 몇가지 항목의 sp를 삭제해도 좋습니다. 소스를 저장해두고 말이죠!! )
2] 1]방법과 아울러 get/post방식으로 넘어오는 데이터에서
single quotation mark은 " 으로 replace해주고
semicolon(;)이 있다면 정확한 쿼리가 아닌 것으로 간주하고 실행하지 못하게 해야 됩니다.
3] 물론, stored procedure를 사용하라고 하는데, 이런 짜임새있는 개발을 한 곳이라면 굳이 sql injection의 해결법을 찾지 못했을리가 없을 것으로 보고 생략합니다.
틀린 부분 있음 적어주세요!!
http://blog.naver.com/xdeveloper
댓글 달기