piadream

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

- 직접 작성한  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를 사용해야합니다.
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
PHP 2년 전 조회 918
기타 2년 전 조회 1,210
2년 전 조회 707
기타 2년 전 조회 1,703
PHP 2년 전 조회 973
JavaScript 2년 전 조회 1,714
PHP 2년 전 조회 1,359
2년 전 조회 662
기타 2년 전 조회 1,005
PHP 2년 전 조회 1,137
PHP 2년 전 조회 1,413
기타 2년 전 조회 1,767
PHP 2년 전 조회 1,210
PHP 2년 전 조회 1,382
PHP 2년 전 조회 1,367
JavaScript 2년 전 조회 1,132
MySQL 2년 전 조회 1,354
MySQL 2년 전 조회 1,415
PHP 2년 전 조회 1,656
OS 2년 전 조회 974
웹서버 2년 전 조회 1,098
웹서버 2년 전 조회 1,219
PHP 2년 전 조회 1,019
PHP 2년 전 조회 1,079
PHP 2년 전 조회 1,091
PHP 2년 전 조회 1,048
PHP 2년 전 조회 1,098
JavaScript 2년 전 조회 1,009
PHP 2년 전 조회 1,941
웹서버 2년 전 조회 1,018