저는 Apache 2.4.29 및 PHP 7.0.28과 함께 CentOS 7.x VPS를 실행하고 있으며 로그에 다음이 표시되기 시작했습니다. 나는 한동안 온라인 기사에서 가능한 한 최선을 다해 php.ini를 보호했지만 다음 작업을 수행할 때 HTTP 상태 코드 200 성공이 표시되는 이유가 무엇인지, 무엇을 하고 있는지, 이를 방지하는 방법이 궁금합니다. ? 내가 알 수 있는 한 가장 좋은 die()
것은 exit()
. 이것이 알려진 오래된 버퍼 오버플로 공격입니까?
하지만 결론은 왜 성공을 반환하고 어떤 피해를 입혔습니까?
[18/Mar/2018:09:57:21 +0000] "POST /?q=die('z!a'.'x');&w=die('z!a'.'x');&e=die('z!a'.'x');&r=die('z!a'.'x');&t=die('z!a'.'x');&y=die('z!a'.'x');&u=die('z!a'.'x');&i=die('z!a'.'x');&o=die('z!a'.'x');&p=die('z!a'.'x');&a=die('z!a'.'x');&s=die('z!a'.'x');&d=die('z!a'.'x');&f=die('z!a'.'x');&g=die('z!a'.'x');&h=die('z!a'.'x');&j=die('z!a'.'x');&k=die('z!a'.'x');&l=die('z!a'.'x');&z=die('z!a'.'x');&x=die('z!a'.'x');&c=die('z!a'.'x');&v=die('z!a'.'x');&b=die('z!a'.'x');&n=die('z!a'.'x');&m=die('z!a'.'x');&eval=die('z!a'.'x');&enter=die('z!a'.'x'); HTTP/1.1" 200 3564
답변1
이는 PHP 웹 애플리케이션 취약점에 대한 블라인드 프로브입니다. 신뢰할 수 없는 입력, 제공된 쿼리 매개변수에서 코드를 실행하는 PHP 웹 애플리케이션이 있는 경우 스크립트가 종료되어 z!ax
웹 페이지 출력에 인쇄됩니다.
이런 일이 발생하면 프로버는 나중에(아마 몇 초 후에) 다시 돌아와 실제로 취약점을 악용할 것입니다.