테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 해킹 방어 구문 간단 셀프 작성한 것인데... 웬지 쎈 소스

· 2년 전 · 1181 · 3

- 직접 작성한  php 해킹해서 php 통째 다운로드?도 할수 있는 북한같은 해킹기술을 방어겸.

- 인위적 스크립트 뚫기 방어 소스.

- 구글 웹 캐쉬. archive.org 그외 사이트 캐쉬 해먹기 방어가 아닐까 싶은

 

$tab= preg_replace("/[^a-zA-Z0-9]*/i", "", $_GET['tab']);
$sql="selct `tab_id` from tab_list where tab_id like '$tab'";
$result=mysqli_query($dbconn,$sql);
$check=mysqli_num_rows($result);
if($check < 1 ) { echo " 존제하지 않는 게시판 입니다."; exit();}
$sql2="selct `status` from check_board where tab_id like '$tab'";
$result2=mysqli_query($dbconn,$sql2);
$info=mysqli_fetch_assoc($result2);
$info=stripslashes($rule['status']);
$info=preg_replace("/[^a-z]*/i", "", $info);
if($info != "pass") { echo "요청에 제한이 걸려져 있습니다";exit();}
 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

prepare 안쓰시는 이유가 있나요?
스크립트 인젝션하면 php 검열 무효화 가능합니다.
백엔드 node.js 로 하시는게 좋습니다.
1) preg_replace() 를 사용해도 인젝션이 가능합니다. 악의적인 사용자가 다양한 입력을 시도할 수 있기 때문에, 필요한 입력 검증과 필터링 로직을 추가해야 하구요.

2) LIKE 절을 사용해서 SQL 쿼리를 실행하고 있는데, 위의 소스처럼 $tab 값을 직접 쿼리에 삽입하는 것은 SQL 삽입 공격의 위험을 초래할 수 있습니다. 매개변수화된 쿼리나 prepare를 사용해야합니다.

게시글 목록

번호 제목
17819
17818
17817
17816
17814
17811
17810
17809
17808
17803
17799
17798
17797
17795
17794
17793
JavaScript JSON Beautify
17790
17789
17786
17774
17760
17755
17750
17729
17722
17714
17708
17686
17676
17666