오늘은 문제 페이지를 시큐어 코딩 해보았습니다.
지금까지 저희가 문제 페이지에 sql인젝션을 매우 매우매우 많이 했었는데요 이걸 다 막아보려고 합니다 이렇게 말이죠?
이렇게 real_escape_string 과 numeric 을 써서 시큐어 코딩을 해주었습니다 이게 뭔지 설명을 해드리겠습니다
numeric 같은 경우는 숫자 검증 코드입니다.
'or 1=1 -- -
숫자 말고 다른 값이 있다면 '정상적인 값이 아닙니다' 라고 출력 합니다.
정말 쉽죠?
다음은 real_escape_string 구문은 문자 검증 코드인데요
특수 문자를 escape 해주는 역할을 하게 됩니다.
이건 modify.php 코드인데요 여기서 취약점은 idx 를 바꾸면 다른 사람의 글을 들어갈수가 있는데 이걸 idx 값을 세션에 저장을 해놔서
새로고침을 해도 idx를 바꿀수가 없는거죠
action.php 는 입력 받는 값을 각각 쿼리로 날려주게 되는데요 이때 취약점이 생기게 됩니다 그렇기 때문에 여기서 각각에
real_escaoe_string 이라는 함수를 써서 막아주어야 합니다.