How To Edit The php.ini File

이 튜토리얼에서는 phpini 파일을 편집하는 방법을 배우게됩니다

PHP 설정 선택 링크를 클릭하여 phpini 파일을 편집하십시오 에디터에서 파일의 현재 버전을 볼 수 있습니다 파일을 변경 한 후에는 저장 버튼을 클릭하여 변경 사항을 모두 저장하십시오 파일이 성공적으로 저장되었습니다

원래 phpini 파일을 복원하려면 기본 phpini 복원 버튼을 클릭하십시오 파일이 성공적으로 복원되었습니다

Secure WordPress Website – Protect wp-config.php File

안녕하세요, 자습서는 WordPress 웹 사이트를 보호하는 방법을 보여줍니다 – wp-configphp 파일 보호 WordPress가 설치된 웹 루트 폴더 열기 Xampp 서버에서는 htdocs입니다

온라인 호스팅을 사용하는 경우 공용 html 폴더 여야합니다 wp-configphp 파일 찾기 wp-configphp 파일에는 WordPress 웹 사이트에 대한 중요한 정보가 들어 있습니다 해커가 찾고있는 첫 번째 파일입니다

따라서 wp-configphp 파일을 비공개 폴더로 이동하여 보호해야합니다 wp-config 파일의 복사본을 만들어 공용 폴더 외부로 옮깁니다 루트 디렉토리보다 높은 보안 폴더에서 서버의 어느 위치로든 이동할 수 있습니다 그런 다음 wp-config가 아닌 다른 것으로 이름을 바꿉니다

그래서, 원래의 wp-config 파일이 될 것입니다 루트 디렉토리 폴더로 돌아 가기 이전 wp-config 파일을 열어 모든 소스 코드 삭제 다음 코드를 입력하십시오 이름이 바뀐 wp-configphp 파일의 서버 위치와 함께 여기에 경로를 입력하십시오 그런 다음 모든 백 슬래시를 슬래시 이 코드는 실제 wp-configphp 파일에 대한 "바로 가기"를 만듭니다 누군가 WordPress 디렉토리에서 wp-config

php 파일을 해킹하면 그들이 찾을 수있는 파일은 다른 파일을 가리키는 파일입니다 시청 해 주셔서 감사합니다 내 채널을 구독하고 더 유용한 정보를 얻으십시오

15 Technique to Exploit File Upload Pages – Ebrahim Hegazy, HackIT-2017

내 이름은 Ibrahim Hegazy입니다 오늘은 약 15 가지 기법을 사용하고 있습니다

파일 업로드 페이지 나는 현재 Deloitte Netherlands의 고위 컨설턴트입니다 나는 나 자신을 보안 녀석이라고 부르고 싶지만 실제로는 이런 종류의 보안이 아니다 물론, 아니, 물론, 아니 네

나는 최고 안보로 평가 받았다 야후의 연구원,하지만 2014 년 3 개월 전, 그들의 버그 현상금 프로그램의 취약점들 예, Ali는 이미 버그 현상금 프로그램이 무엇인지 설명합니다 예 오늘의 의제입니다

음, 이 개념을 설명하는 "내가 누구인가"의 핵심 개념은 개발자가 코드를 더 나은 방법으로 수정하는 방법을 알고 싶습니다 개발자는 40 명의 공격자를 갖고 있습니다 즉, "앱 경량 펜 테스터 (testers) "또는"화이트 모자 해커 (white hat hackers) "라고 불렀다 개발자 그래서 이것은 오늘날의 밑입니다

어떤 파일을 설명 할게 업로드는, 파일 업로드 페이지의 주요 구성 요소는 무엇이며, 나는 개발자가 완화를 위해 수행하는 작업과 같이 각 부분을 설명합니다 파일 이름 확인, 콘텐츠 사이트 유효성 검사, 파일 콘텐츠 유효성 검사 그리고 나서, 어떻게 해커가 그것을 우회 할 수 있는지 그렇습니다 그리고 결론적으로, 저는 최선의 관행처럼 개발자 : 이러한 공격을 완화 할 수있는 가장 좋은 방법은 무엇입니까? 너도 알다시피

개발자들은 결국 이겨야 만합니다 또는 해커가 항상 이기고, 누군가는 결국 승리해야한다 예, 이것은 세션 마치 한 곳에서 최고의 기술로 모든 파일 업로드를 모으는 것과 같습니다 그래서, 침투 테스터 나 버그 사냥꾼이라면 꼭 가야 할 필요는 없습니다

파일 업로드 작업을 우회하는 방법을 검색하는 인터넷 크롤링 한 곳에서 모든 것을 갖췄습니까? 물론 개발자에게 도움이됩니다 예, 이것은 티저입니다 이것은 YouTube에서 누군가가 발견 한 취약점입니다 이것은 YouTube의 진짜 등 'passwd 파일입니다 그래서, 그는 파일을 읽을 수있었습니다

YouTube 서버에서이 파일은 실제 파일입니다 나는 이것을 설명 할 것이다 세션 나는 티저로 여기에 넣었습니다 그래, 많은 사람들이 티저가 뭔지 알지? 네

괜찮아 그래서, 주 파일은 "청색 페이지"에는 거의 다섯 가지 주요 구성 요소 인 불이 들어 있습니다 언젠가, 파일 크기 부분은 아니지만 항상 헤더 자체와 함께 보내야합니다 그래서 우리는 첫 번째가 있습니다 – 파일 이름은 파일 번호입니다 확실해, 당신은 그 파일 유형을 볼 수 있어야합니다

파일 유형은 실제로 예를 들어 PNG가있는 경우 확장 프로그램을 기반으로 일부 테이블에서 거의 이미지 백 슬래시, 미안, / PNG 또는 MS PDF, 죄송합니다, PDF 파일 인 경우, PHP와 같은 응용 프로그램은 / XPHP와 비슷합니다 네 그리고, 매직 넘버 따라서 개발자를 위해 거기의 파일 내용은 모든 파일간에 유사성이 없습니다 맞습니까? 그러나 비슷한 것은 언제나 – 매직 넘버입니다

마법 번호는 무엇입니까? 매직 넘버는 마치 시작 줄을 시작하거나 GIF가있는 경우와 같이 파일 식별자를 보냅니다 모든 이미지를 GIF로 시작합니다 좋아, 89,98,83,89 GIF89 또는 GIF87 그런 다음 ":"다음 이미지 자체의 내용을 표시합니다 그래서, 이것이 마술입니다

숫자가 작동합니다 일부 개발자는 이것을 검증하고 있습니다 (예 : WordPress) 당신이 이것을 사용했다면 Alex는 우리가 어떻게 그것을 우회 할 수 있는지에 대해서도 이야기했습니다 그 종류의 검증 그리고 나서 파일 내용과 파일 크기는 물론, 예, 개발자 검증 시나리오를 건너 뛰도록하겠습니다

좋아요, 개발자들은 블랙리스트를 정말 좋아합니다 그래서, 오, PHP 파일, 아니, 나는 싫어 이 하나는 PHP를 블랙리스트로 보겠습니다 이것이 첫 번째 시나리오입니다 사용할 수 있습니까? 이런 종류의 검증에 무슨 문제가 있습니까? 뭔가 있어요? 고르그에가는거야? 나는 이미 그 해결책을 썼다

당신은 그것에 대해 생각해야합니다 이 유효성 검사에서 무엇이 잘못 될 수 있습니까? 괜찮아 따라서 개발자는 주로 파일 이름의 유효성을 검사합니다 regex "정규 표현식"이라고 불린다 그래서,이 경우, 세 번째 라인 "if"로 시작하는 것입니다

정규식은에서 유효성을 검사합니다 파일의 확장자는 PHP 또는 PHP1 또는 PHP2 등입니다 마지막에는 "$"기호와 같은 기호가 있기 때문에 파일이 끝나면 이러한 확장 기능 중 하나를 사용하십시오 그러나 사례 인스턴스의 유효성을 검사하지는 않습니다 PHP 같은 대문자와 같아 지려고한다면, 무언가와 같은 무감각 대문자, 대문자 일 경우이 유효성 검사를 건너 뜁니다

그래서, 이것이 첫 번째입니다 유효성 검사 블랙리스트 작성 개발자가 파일을 완화하는 방법 업로드 그들은 파일이 PHP로 끝나지는 않지만 파일이 대소 문자를 구분하지 않습니다 그래서 PHP를 작성할 수 있습니다 쉘처럼, PHP 버튼의 대문자를 쓰면, 이런 종류의 것을 무시할 것입니다

확인 네, 두 번째 시나리오 블랙리스트 그리고 우리는 적절하게 파일 확장자의 유효성 검사, 파일 이름의 민감도 그 자체 그들은 실제로 모든 것을 유효하게하고 있지만, 다른 확장, 내 말은, 이런 식으로, 코드가 나빠지는 것입니다 블랙리스트에 대해 나쁜 것

당신은 블랙리스트에 올 수 없습니다 모든 가능한 확장 기능을 알고 있지? 그리고 매일 매일 같이 새로운 것이 있습니다 기술의 변화, 새로운 기술이있을 수도 있고 새로운 기술이있을 수도 있습니다 신장 예를 들어, 해당 파일은 PHT라고합니다

PHT는 PHP 파일을 실행할 수있는 확장 기능입니다 그래서, 그들이 개발되면 개발자는 PHP, PHP1로 끝나는 모든 파일을 대문자로 차단합니다 작은 등 당신은 그것을 무시할 수 있습니다, 예를 들어, PHT 파일 따라서 블랙리스트 기술을 우회하는 방법이지만 Linux에서는 사용하지 마십시오 Windows에서 이에 상응하는 기능은 무엇입니까? 여기에 우리가 Windows에서 이에 상응하는 이동합니다

만약, 예를 들어, 개발자가 완화하거나, 말하자면 ASP, ASPX를 블랙리스트에 올리면됩니다 파일 여전히 호출 된 확장명을 사용할 수 있습니다 미안 해요, 때문에 speedodll, 나는 괜찮아요

그래서, 당신은 이것을 감당할 수 있습니다 예를 들어, ASA 또는 CER이라는 확장을 사용할 수 있습니다 CER은 무엇입니까? 우리는 일반적으로 그것을 사용하지 않기 때문에 CER은 다음과 같습니다 증명서, 맞지? 그러나 아니, 제 생각에, 저는 오래된 ASA라고 생각합니다

해결되지 않았습니다 터치 된 버전 75 그것은 ASA로 끝나는 파일을 다음과 같이 실행하는 것을 정말 좋아합니다 이것이 ASP 파일 인 경우

예를 들어, 여기에 ASP Shell이 ​​있습니다 CET, CER을 볼 수있는 이름은 죄송합니다 파일 업로드를 우회했습니다 왜? 개발자는 ASP 및 ASPX 확장 만 블랙리스트에 올리기 때문입니다 그러나 여전히 동일한 ASP 코드를 실행할 수 있지만 다른 확장명을 사용하면됩니다

예 시나리오 시나리오 3 블랙리스트 모든 실행 확장 프로그램을 우회합니다 그래서 예를 들면 개발자는 모든 ASP에 모든 PHP, 모든 HTML 또는 AHTML, BHTML을 블랙리스트에 올렸습니다

모든 것, 모든 가능한 것, 실제로 XSS를 실행하거나 저장할 수는 있지만, EML이라는 확장을 사용합니다 EML이 무엇인지 알고 있습니까? 네, 예를 들어 Thunderbird를 사용하는 경우 Thunderbird는 다음과 같습니다 아웃룩,하지만 리눅스에 Windows에서도 사용할 수 있습니다

예, 전자 메일로 보내면 EML로 내 보냅니다 그래서, 이것은 일반적으로 EML을 여는 경우입니다 파일이 처리되지만 실제로는 Internet Explorer에서만 작동합니다 따라서이 기능은 Internet Explorer에서만 악용 될 수 있습니다 그래,이 경우 끈의 XSS는 일종의 HTML 컨텐트로 실행되기 때문에 트리거됩니다

그래서, 파일 내용과 검은 스크린 샷을 볼 수 있습니다 "안녕하세요"라고 말하면서 XSS 페이로드는 배포 된 단어를 확인하는 것과 같습니다 괜찮아 네 그 링크에 대한 자세한 내용은 여기에 있습니다 당신이 가고 있다면, 정말로 원한다면 이 인코딩 때문에 POC 자체 및이를 악용하는 방법에 대해 자세히 알아 보려면 인코딩은 까다로운 일입니다

쉽지만 까다 롭습니다 네 그래서 우리는 이제 개발자가 사용하는 블랙리스트 기술을 알고 있습니다 허용 목록이란 무엇입니까? 개발자가 블랙리스트에 올라 있지는 않지만 화이트리스트에 올라 있다면, like, 허용 된 확장 기능 만 웹 사이트에 업로드 할 수 있습니다 괜찮아

대본 4이 정규식에 어떤 문제가 있는지 알아볼 수 있습니까? 뭐라고 생각하니? 이 거절에 여기에 잘못 가고 있니? 네 따라서 개발자는 파일에는 해당 확장이 들어 있습니다 하지만 그는 만들고 있으며, 만들고 있지 않습니다 파일은이 확장자로 끝납니다

그래서, shellJPGPHP라는 파일을 업로드하면 JPG가 포함되어 있습니다 그러나 그것으로 끝난다 PHP

따라서 파일에 해당 이름이 포함되어 있는지 확인하는 중이지만 만들지는 않습니다 물론, 허용 된 확장 기능으로 만 끝납니다 그래서, 이것은 우리의 백색입니다 네 그래서, 예를 들어,이 정규식에서 이것을 볼 수 있습니다 : regex 101이라는 사이트가 있다면이 웹 사이트를 사용하여 일종의 문자열에 대한 정규 표현식, 작동하는지 여부

예, 예를 들어 JPGPHP를 동일한 파일로 저장하는 것을 보았습니다 이전 코드에서 사용 된 regex와 일치하는 바이 패스입니다 파일에 JPG가 있지만 JPG로 끝나지 않습니다 맞습니까? 괜찮아

지금 시나리오 번호 5 널 바이트 주입입니다 null 바이트 란 무엇입니까? 누군가가 우리에게 손을 줄 수 있습니까? null 바이트 란 무엇입니까? 네, null 바이트는이 사람들을위한 터미네이터입니다 "C"배경에서 그것은 터미네이터의 일종으로 100 % 0입니다

제로 이것은 null 바이트입니다 내 말은, 코드처럼, PHP는 갈래졌습니다 C, 맞지? 따라서, 그들은 "C"에 주로 기초를두고 있습니다 구문에 상관없이 C에있는 문제가 PHP에 존재할 수 있습니다

네 그래서, 터미네이터 건 뭐니? 예를 들어 일부 개발자는 파일 이름은 자신을 업로드하지만, 파일의 이름을 지정하면 쉘과 같은 이름이됩니다 PHP100 % 00JPG JPG, 무슨 일이 일어날 지 알 수 있습니다

우연히 있다 문제는 관찰자가 점만 이해하고 처음에는 확장자는 일반적으로 100 % 00이므로 종료 문자입니다 그래서, PHP는 무엇이든지 후, "P"는 종료됩니까? 그것은 존재하지 않는다 당신은 그것이 존재하지 않는다고 말할 수 있습니다 이제 파일의 이름은 shadow PHV입니다

너는 할 수있다 또한 16 진수 표현을 사용하여 바꿉니다 그것은 또한 작동합니다 어쨌든 같은 기술 이것은 샘플 코드입니다

만약 당신이 이것을보고 있다면, 나는 의미합니다 이것은 코드 자체 내에서 어떻게 보이는지입니다 시나리오 6 예 약간 웹 사이트는 SVG이기 때문에 그렇습니까? SVG는 일종의 이미지이지만 거의 발명 했어

내 말은, 그들은 html5와 관련이있다 그것이 갔을 때, html5는 html5로 시작하여 성장하기 시작했습니다 SVG는 비슷한 XML 컨텐츠 따라서 개발자가 SVG 이미지를 업로드 할 수 있도록 허용하는 경우 여전히 XML 콘텐츠를 넣을 수 있습니까? XML 컨텐트는 무엇을 할 수 있습니까? 정확하게 XXE 또한 XML에서 많은 것을 할 수 있지만 왜 개발자가 SVG 파일에 XML이 포함되어있는 경우 SVG 파일을 신뢰합니까? 왜냐하면 이것은 개발자가 생각하는 방식입니다 개발자는 항상 보안이 아닌 유용성에 대해 생각하고 있습니다

그들은 이 방법을 사용하여 고객이 만족하게 될지에 대해 생각해보십시오 신청 우리 고객을 만족시키는 것은 무엇이든 허용해야합니다 이것은 개발자의 업무 방식과 해커가 좋아하는 방식입니다 네, 이것은 비디오 업로드 된 것을 허용합니다

이것은 착취입니다 나는 설명 할거야 그것은 VK에 반대 해왔다 VK, 나는 러시아의 페이스 북이 비슷하다고 생각한다 또한, facebook

com에는 동일한 취약점이 있었지만 YouTube에는 동일한 취약점이 있으며 이게 바로 솔직히 말하면, 이것은 개발자를 악용하는 것이 아닙니다 잘못 당신은 당신이 개발 한 서버 측 라이브러리를 이용하고 있습니다 FFmpeg, 예 그래서 FFMPEG 일 때, 예를 들어 YouTube와 같은 비디오를 업로드 할 때, 이 명령을 실행합니다

예를 들어,이 명령을 실행할 것입니다 그것은 FFMPEG-I 배치 끝에 있습니다 videoavi 또는 m3u 또는 기타 확장을 누른 다음 mp4로 변환합니다 따라서 사용자는 미리보기 할 수 있습니다

이 파일은 내용이 다음과 같이 보이는 경우입니다 예를 들어 m3u로 저장하면됩니다 그래서, 당신이 알아 차릴 때, 거기에 무언가가 고무로되어 있고 ETC passwd를 제출하지 않은 파일입니다 너는 ETC passwd 파일을 읽으려고합니다 파일이 서버에 업로드되면 이 명령을 사용하여 변환 된 다음 파일을 볼 때 명령이 실행됩니다

그래서 FFMPEG의 취약점이었습니다 당신이 개발자들을 비난 할 수있는 무언가가 아닙니다 왜냐하면, 모든 것이 YouTube와 같은 모든 웹 사이트, Facebook은 어쨌든 취약했고 트릭은 여전히 ​​작동합니다 사실, 나는 많은 침투를 경험했다 테스트, 맹세,이 트릭을 사용하고 작동하지만 지금은 수정되었습니다

내말은, 물론 서버를 업데이트하면 문제가 해결됩니다 네, 트래버스 덕분에 여전히 화이트리스트에 포함됩니다 예를 들어, 개발자는 흰색입니다 JPG 이미지 만 업로드되고 올바른 방식으로이를 수행하고 있음을 나열하면, 그것을 무시할 수는 없으며 PHP 파일을로드 할 수 없습니다 네가 할 수 있는게 뭐지? 케이스? 왜냐하면, 내가 말했듯이, 테스터 또는 취약성 사냥꾼으로서, 당신은 여전히 시원한 걸 찾으려면, 맞지? 당신은 버그 현상금 창조자를 편리하게해야합니다

프로그램 제작자 또는 소유자와 마찬가지로 관리자 일 수도 있습니다 복용하는 경우 침투 테스트, 당신은 뭔가 멋지다는 것을 발견해야합니다, 맞습니까? 그러나, 당신은 단지 JPG 파일 업로드 허용 이 경우 "디렉토리"라는 것을 사용할 수 있습니다 탐색 (traversal) "을합니다 따라서 PHP / images / 2017 / thumbnails / images

JPG, 이것은 매우 긴 것입니다 정상이야, 맞지? 하지만 내 파일을 logoJPG 또는 logoPNG를 클릭 한 다음 "/", "/"을 실행하면 메인 웹 사이트 디렉토리에 저장하고 파일을 대체했습니다 내말은, 그것은 웹 사이트의 로고를 대체했습니다

이제 로고 웹 사이트를 대체 할 수 있습니다 내 회사 이름과 같은 멋진 정보 또는 시체를 해킹하거나 테스트를 원한다면 테스트하십시오 이것은 불리는 것입니다 – "디렉토리 트래버 설" 파일을 업로드하여 디렉토리를 벗어나려고합니다 디렉토리가 아닌 다른 디렉토리 에있다

그래서, 이것은 정상적인 것입니다, 당신은 단지 당신의 파일 이름을 유지할 수 있습니다 로고 그대로입니다 JPG 그리고 /

// 이것이 될 것입니다 당신의 파일 이름

그리고 이것은 취약한 코드 샘플입니다 예, 복사되었습니다 페이스 북 팀에서 예 그리고 시나리오 번호 9 그럼, 또한 전체 내용 및 파일 이름

PHP 라이브러리라는 펑크가 있습니다 PHP-GD 그래서, 개발자로서, 나는 파일 업로드가 JPG로만 파일 이름을 가지고 있지만 내용도 JPG입니다 그래서, 어떤 개발자는 이미지 리사이즈 또는 PHP 함수 호출을 PHP 함수에 전달하고자합니다 같은,하지만 그들은 주로 PHP는 – GD 일에 따라 변환하는 업로드 된 파일을 이미지 파일에 업로드하면 파일을 JPG 파일입니다

그들은 악의적 인 내용을 업로드하지 않도록하고 싶습니다 내용을 파일 자체에 저장합니다 예 그 놈이 여기 멋진 물건을 만들었 어 이것에 대해

이것은 "책 신선한"이라는 웹 사이트의 취약점이었습니다 네 그래서 그것을 우회하는 방법? 이미지 파일을 동일한 정확한 개발자 설정 따라서 PHP 코드를 로컬 서버 또는 뭔가 그런 다음 JPG 파일을 일반 JPG 파일을 선택한 다음 해당 파일의 변경 내용을 확인합니다 그래서, 어떻게 했어? 후

변환 중입니다 이전 파일과의 유사점은 무엇입니까? 그리고 새로운 파일, 왜냐하면 무언가와 JPG 자체가 대체 될 수 없었기 때문에, 권리? 예를 들어 공격자가 업로드 또는 삽입하는 것을 보았 기 때문에 메타 데이터 내부의 PHP 코드도 추적됩니다 이 PHP-GD는 이미지 내부에 메타 데이터가 존재하지 않도록합니다 따라서,이 작업을 우회하려면 16 진수를 사용하여이 작업을 수행 할 수 있습니다 사실은

그래서 이미지를 JPG로 변환하고 있습니다 PHP-GD를 사용하는 것과 같습니다 의회 이제 JPG 파일 두 개, 이전 파일과 JPG, 새 파일 인 JPG가 있습니다 개종했습니다

그는 두 가지 모두를 16 진수로 변환 한 다음 검색을 시작합니다 유사점 페이로드와 유사한 유사성 예를 들어, 페이로드가 20 자와 같은 경우 20 개를 찾아야합니다 문자, 20 유사점 따라서 코드에서 20 비트 유사도로 다음과 같이 할 수 있습니다

PHP 컨텐츠로 대체하십시오 삽입하고 싶습니다 그런 다음 이미지가있는 페이지를 업로드하십시오 변환 될 때, 같은 비트가 거기에 남아있을 것이고 PHP 코드를 실행할 수 있습니다 이 스크린 샷과 같습니다 이것은 링크이거나 POC 파일로 이동할 수도 있습니다

그만큼 당신이 사용할 수있는 링크와 POC 파일은 실제로 중요하지 않습니다 SVG Facebook에서 4 만 달러를 샀던 사람에 대해 들어 본 적이 있습니까? 그것은 약간이었다 "이미지 매직 (image magic)"이라 불리는 도서관에서 악용됩니다 "Image magic"은 취약점이있었습니다 영향을받는 서버 나 "이미지"를 사용하는 서버가 실행될 때 코드를 실행할 수 있습니다 마술 "이라고 부르며 그 이미지를"비극적 인 이미지 "라고 부릅니다

그렇지 않았습니다 아무도 없었습니다 그 사람은 페이스 북에서 그것을 발견하고 40,000 달러를 얻을만큼 충분히 운이 좋았다 하나 네

따라서 코드 자체를 볼 수 있는지 잘 모르겠지만 나는 여기에서 이것을 극대화 할 수 없다 그러나 어쨌든, 그가 사용한 페이로드는 간단하게, 당신이 실행하는 것을 쓰고있을 때, 나는 말할 수있다 괜찮아 그래서, 그는 리눅스 '/'의 메인 디렉토리에있는 디렉토리 목록 '/'다음 도메인으로, 하위 도메인으로 자신의 도메인 이름으로 하위 도메인을 보냅니다 그래서, 이 경우 어떻게됩니까? 핵심은 모든 DNS 로그 작업을 수행하기 때문에 DNS 쿼리 먼저

따라서 DNS 쿼리가 공격자 서버로 이동하면 로그를 모니터링 할 수 있습니다 이제는 서버의 데이터가 무엇인지 알고 있습니다 파일, ETC / PASSWD 코드의 내용은 무엇입니까? 그것 하지만 아시다시피 도메인 이름의 최대 크기는 64입니다 따라서 할 수 없습니다 따라서 64 비트를 16 진수로 변환하거나 Base64와 같이 변환 할 수 있습니다

각 요청에 대해 64 바이트를 보내는 동일한 시작 네 그래서 그 남자는 좋은 페이 스북 서버에서 명령을 실행합니다 네 시나리오 번호 11

이것은 모든 해커 또는 모든 오래된 학교와 같습니다 IIS 버전 6 및 65의 사용자 7이 작동하는지 여부는 확실하지 않지만, 왜냐하면 내가 그렇게하지 않았기 때문입니다 7 따라서 파일 이름을 ASPX로 업로드 할 수 있습니다

ASPX : 1JPG 그래서,이 일은 어떻게 될까요? 케이스? IIS 서버, 서버 자체가 다음 첫 번째 실행합니다 신장 그러나 개발자 코드는 항상 마지막 확장자에서 유효성을 검사합니다 그러나 거기 구분 기호입니다

구분 기호는 ':'입니다 그래서 IIS는 IIS가 ':'를 볼 때 거의 실행 된 FRX가 첫 번째 확장 프로그램입니다 첫 번째 명령 만 실행합니다 신장 그래서,이 경우 어떻게됩니까? 즉, 파일을 검증하는 개발자 그가 원하는 파일 이름이 같기 때문에 이름이 만족됩니다

웹 서버 자체가 첫 번째 확장을 실행합니다 그래서, 그 공격자도 만족, 이것이 실행되고 있기 때문입니다 더 이상 작동하지 않습니다 나는 아무도 IIS 6 또는 65를 사용하지 않는 것처럼 말입니다

하지만 내가 말했듯이, 나는 모든 것을 갖기를 기대하고있다 한 곳에서 가능한 기술 그래서 나는 옛 학교에 대해서도 이것을 언급했다 해커 물론 DOS

그것은 파일 크기 유효성 검사의 일부였습니다 그래서, 개발자가 거의 모든 것을 검증한다고 가정 해 봅시다 업로드 할 수 없습니다 악의적 인 파일, 디렉토리 트래버 설을 할 수 없으며, 자신을 우회 할 수 없다 파일 이름에 대한 유효성 검사가 가능하지만 여전히 파일의 가능성이 있습니다

크기가 확인되지 않습니다 그래서, 업로드 할 수 있다면 100 개의 요청을 보내고, 백 업로드 요청 및 각 파일은 20MB와 같습니다 이 서버는 DOS가 될 것입니다 모두 서비스 거부 공격입니다 그래서, 그것은 여전히 ​​가능성이 있습니다

개발자는 파일 업로드 크기의 유효성을 검사해야하며 네 그리고 나서, 시나리오 11, 그저 돌아온 것과 같습니다 승인 WordPress의 마법의 숫자 플러그인에서 뭔가를 가리 키려면 페이지, 너, 너, 미안, 이미지 업로드, 페이지 업로드 중

파일을 업로드 한 경우 PHP는 여전히 파일이지만 이미지에 마법 번호가 포함되어 있습니다 예를 들어, GIF 이미지에서 GIF와 같은 것입니다 98 죄송합니다 89 또는 87을 입력하고 ':'다음 일반 PHP 콘텐츠를 입력하십시오 PHP는 그 당시에는 WordPress를 사용 했었지만 그 당시에는 파일 내용 만 검증하고 있었고, 이 코드는 어쨌든 작동하도록 이미징됩니다

그리고 나서, 매직 넘버 이 마법 번호를 PHP 코드에 삽입하여 우회 할 수도 있습니다 또한 RCE의 zip 파일을 통해 그래서 페이스 북에서도이 사이트를 시도 할 때 정상적인 운영 체제 명령 인 파일을 압축 해제합니다 이상해 네

시나리오 14 당신이 할 수 있다면 잘 모르겠다 속도 태깅에서 페이로드를 확인 하시겠습니까? 그래서,이 경우, 나는 시나리오, 내가 테스트 한 웹 사이트에서 묻고있는 시나리오 사용자가 직업을 신청할 수 있습니다 그래서, 그들의 웹 사이트 또는 무엇인가 그렇게, 그들은 묻고있다 당신은 CV를 업로드 할 수 있습니다

하지만 업로드 한 파일이나 시도하려는 파일 업로드가 파일 이름의 유효성을 검사하지 않습니다 방금 데이터베이스에 삽입되었습니다 그 자체로 파일 이름 자체는 검증되지 않습니다 따라서 파일이 삽입 된 경우 다시 데이터베이스에 직접 들어가면 두 번째 주사를 할 수 있습니다 맞습니까? 하지만 너는 이것은 데이터베이스 측에 저장된 것이기 때문에 출력을 볼 수 없습니다

HR 직원과 같은 사람 또는 누구나 볼 수 있습니다 출력을 볼 수 없습니다 이 때 시간이 흐르면 ​​"대역 외 (out-of-band)"보안 주입이라고하는 것을 사용해야합니다 뭐 "out-of-band"안전한 주입은 무엇입니까? 너는 보통처럼 요청,이 경우 정상 요청은 요청해야합니다 외부 파일은 귀하가 관리합니다

따라서 개발자, 예를 들어 X가 실행되면 코드가 실행되고 일부 HR 담당자는 다음과 같습니다 이 메시지는 서버 로그에서 정상적인 요청으로 간주됩니다 그래서, 이제 우리가 작성한 SQL 명령이 실행되었음을 알게되었습니다 그러나 이것은 단지 SQL Server 및 aspnet에서만 작동합니다

불행히도 PHP에서는 작동하지 않습니다 및 MySQL 예, 이것이 마지막 기술입니다 "십자가 도메인 데이터 하이재킹 (hijacking) "또는"크로스 사이트 데이터 하이재킹 (cross site data hijacking) "등이 있습니다 그래서

이 경우 우리는 플래시 파일을 이용하고 있습니다 파일 그래서, 왜 플래시 파일입니까? 네, 이름을 바꿀 수 있다면 PDF, JPG 또는 확장명이 허용되는 것과 같은 플래시 파일 그리고 파일 내용 자체, 웹 서버를 기반으로 파일을 업로드합니다 주문 했어, 알았어, 알았어

웹 브라우저는 실제로 사이에 무엇이든 실행하는 것을 좋아합니다 플래시 파일과 마찬가지로 일반 객체 태그입니다 예를 들어,이 페이로드입니다 만약 너라면 이 태그 안에 언로드 된 플래시 파일이나 JPG 파일을 넣으면 객체 태그가 실행되지 않으면 일반 플래시 파일로 실행됩니다 사용 당신이 그것을 제어 할 수 있기 때문에 플래시 파일, 당신은 크로스 도메인 요청을 할 수있는, 권리? 교차 할 수 있으며 교차 도메인 요청을 제어 할 수 있습니다

플래시 그것은 항상 같은 스트라이크와 같습니다 : 허용 된 모든 것, 모두 허용하는 것 태만 네, 이제 우리는 이것을 URL과 함께 할 것입니다 POC 파일 그리고 지금, 개발자들을위한 결론

당신이 할 수있는 일은 무엇입니까? 이 모든 우회 기술을 완화하거나 유효성 검사를 우회 할 수 있습니까? 그래, 우선, 나는 그것을 좋아한다 사실, CDN 콘텐츠 전송 네트워크를 사용할 때 콘텐츠 배달 네트워크, 정말, 캐시에만 모든 콘텐츠의 캐시, 같은 JS 파일, CSS 파일은 일반적인 파일을 캐싱하고 실행할 수있는 것처럼 말합니다 하지만 그들은 기본적으로 PHP 나 HTML과 같은 내용을 실행합니다 실행 파일을 무시하십시오 항상 가장 먼저 파일을 만드는 것입니다

다운로드 가능하며 실행 가능하지 않습니다 그래서, "content position"이라는 헤더가 있습니다 이 헤더를 사용하여 예를 들어 당신은 브라우저가 항상 실행 불가능한 파일을 다운로드하도록 요청할 수 있습니다 따라서 파일이 다운로드되고 있기 때문에 대부분의 공격에 안전합니다 실행되지 않으면 PHP 코드가 실행되지 않습니다

그래서, 당신은 대부분 안전합니다 또한 파일 크기를 항상 확인하십시오 왜냐하면 물론 당신이 원하지 않기 때문입니다 귀하의 사이트에 대한 DoS 공격처럼 느껴지십시오 또 다른 좋은 기술은 – 거의 업로드 된 파일의 이름을 바꿉니다

그래서, 파일 이름이 무엇이든간에; 너는해야한다 신경 쓰지 마세요 무작위로 파일 이름을 바꾸면됩니다 허용 된 확장자를 파일 끝에 추가하십시오 그래서 이것이 PHP이고 그것이 어떻게 든 우회 되었더라도 여전히 무대입니다

JPG로 이름을 바꾸고 임의의 파일처럼 만들면 공격자가되지 않습니다 그것을 붙잡을 수 있습니다 그리고 그것을 잡으면 여전히 JPG 파일입니다 맞습니까? 예 그것들은 개발자를위한 조언입니다

바라건대, 너희들, 이거 좋아 그리고 우크라이나 사람을 읽는 사람들은 내가 생각하기에, 당신은 내가 무엇인지 이해할 것입니다 여기에 [음악]