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년 전 조회 814
기타 2년 전 조회 1,115
2년 전 조회 617
기타 2년 전 조회 1,590
PHP 2년 전 조회 857
JavaScript 2년 전 조회 1,596
PHP 2년 전 조회 1,256
2년 전 조회 604
기타 2년 전 조회 893
PHP 2년 전 조회 1,028
PHP 2년 전 조회 1,319
기타 2년 전 조회 1,653
PHP 2년 전 조회 1,119
PHP 2년 전 조회 1,304
PHP 2년 전 조회 1,270
JavaScript 2년 전 조회 1,055
MySQL 2년 전 조회 1,256
MySQL 2년 전 조회 1,310
PHP 2년 전 조회 1,588
OS 2년 전 조회 915
웹서버 2년 전 조회 1,003
웹서버 2년 전 조회 1,112
PHP 2년 전 조회 921
PHP 2년 전 조회 974
PHP 2년 전 조회 982
PHP 2년 전 조회 996
PHP 2년 전 조회 1,049
JavaScript 2년 전 조회 929
PHP 2년 전 조회 1,881
웹서버 2년 전 조회 927
🐛 버그신고