upload-labs 사고방식 총결산less1-12

upload-labs 노트less 1
빈틈을 올리는 방법은 많다.로컬에서 upload-labs를 설정한 후burpsuite를 이용하여 패키지를 잡을 수 없습니다. 원리는 로컬 에이전트가 기본적으로 패키지를 잡지 않는 127.0.0.1로 설정되었을 수도 있습니다.로컬 루프 패키지를 잡을 수 없을 수도 있습니다.구체적인 원인은 명확하지 않다. 해결 방식은 127.0.0.1을 자신의 IP 주소로 바꾸고 IP 주소는 cmd ipconfig에서 조회할 수 있다.
방법 한 문제는 js 함수입니다. 화이트 리스트 모드에서 파일을 필터합니다. 모든 검사가 안전하지 않습니다.전단은 사용자의 데이터에 대한 문제 수정에만 적용됩니다.그러면 js 함수를 수정하는 방식은 파일 업로드를 실현할 수 있습니다.js 함수를 수정하는 방법은 요소의 js 함수를 console로 복사합니다.제출하면 현재 함수가 업데이트됩니다.summit는 페이지를 업데이트합니다. 수정할 때마다 제출해야 합니다.
  • 수정 allowext의 값은 입니다.jpg|.png|.gif|.php
  • 함수 수정 결과returnture
  • js 함수 삭제
  • 브라우저에서 js 비활성화
  • 방법2 Burpsuite 클러치를 이용하여 먼저 1을 업로드합니다.jpg가 1로 수정 중입니다.php
    upload-labs 노트less2
    원본 보기, 백엔드 검사, upload만 검사file.type.캡처하여 콘텐츠-type을 수정하면 모브uploaded_파일 ()은 업로드된 파일을 새 위치로 이동합니다.
    upload-labs 노트less3
    apache 프로필 수정 httpd.conf 파일에서 문장 수정 AddType 응용 프로그램/x-httpd-php.php .html .phtml 이렇게 하면 phtml 파일이 정상적으로 php에 의해 해석될 수 있다.이 문제는 백엔드 블랙리스트 검사입니다. .php .asp .aspx .jsp 파일을 필터했습니다.phtml 파일을 업로드하면 됩니다.
    upload-labs 노트less 4
    아니면 백엔드 블랙리스트 검사, 이렇게 많이 걸러냈어요.내가 모르는 것도 포함시킨 셈이다. 이때 파일 이름 ".php",".php5",".php4",".php3",".php2","php1",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2","pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf" 을 만드는 것은 .htaccess 파일의 역할이다. 이 디렉터리에 있는 모든 파일을 Php로 해석하는 것이다.그리고 php 코드를 포함하는 jpg 파일을 업로드하면 됩니다.
    upload-labs 노트less 5
    원본 코드를 보니 백엔드 블랙리스트 검사였지만 대소문자를 검사하지 않았습니다.SetHandler application/x-httpd-php 파일을 업로드하면 됩니다.
    upload-labs 노트less 6
    백엔드 블랙리스트 검사, 파일 이름 뒤에 빈칸이 없습니다.window 생성 파일은 자동으로 공백을 삭제하고 버프 캡처로 공백을 추가합니다.
    upload-labs 노트less 7
    백엔드 블랙리스트 검사에서 파일 이름 뒤에 있는 소수점을 삭제하지 않았습니다. window는 자동으로 파일의 마지막 소수점을 삭제합니다.Burp 클러치를 사용한 후 소수점을 추가합니다.
    upload-labs 노트less 8
    검사 없음.pHPphp가 window에 있을 때 파일 이름 + "::$DATA"::$DATA 이후의 데이터를 파일 흐름으로 처리하고 접미사 이름을 검사하지 않습니다. 그리고 유지"::$DATA"이전의 파일 이름은 윈도우즈여야 합니다. php여야 합니다.
    upload-labs 노트less 9
    원본 보기, 백엔드에서 소수점, 공백 등 필터를 한 번만 했습니다.그러면 저희 구조::$DATA를 업로드할 수 있습니다.
    upload-labs 노트less 10
    str_ireplace () 는 대체 함수입니다. 접미사 이름의 키워드를 공백으로 바꿉니다.두 글자로 돌아가다.구조xxx.php. . 검측 함수는 앞에서 뒤로 검사하는 것이므로 구조xxx.pphphp가 되면 xxx가 생성될 수 있음을 주의하십시오.hpp
    upload-labs 노트less 11
    참조 블로그:https://blog.csdn.net/qq_29647709/article/details/81264120원본 코드가 경로로 연결되어 다른 처리를 거치지 않았는지 확인하십시오.00 절단을 사용할 수 있습니다.00절단에는 두 가지 촉발 조건이 있다.php버전은 5.3.4보다 작습니다-->CVE-2006-7243.php의magicquotes_gpc는 OFF 상태입니다.Burp 캡처로 파일 디렉터리를/1로 수정합니다.php%00이면 됩니다.
    php 함수 축적: 문자열이 다른 문자열에 있는 위치strpos ()/stripos ()/strrpos ()/strripos () 를 찾습니다.하나의 r는 처음 출현하고 두 개의 r는 마지막으로 출현하며 i는 대소문자를 구분하지 않는다.
    upload-labs 노트less 12
    post 방식의 00 절단.post는 get처럼% 00을 자동으로 디코딩하지 않습니다.burp 클러치가 필요한 경우 hex에서 수정합니다.
    요약:
    참조 블로그:https://www.cnblogs.com/cyjaysun/p/4439058.html업로드 유효성 검사 건너뛰기 포함
  • 클라이언트 인증 루프(javascript 확장자 검출)
  • 서버 인증 우회 (http request 패키지 검사)
  • Content-type(Mime type) 체크
  • 서버 인증 우회(확장자 체크)
  • 블랙리스트 검사
  • 화이트리스트 검사
  • .htaccess 파일 공격
  • 서버 인증 우회(파일 무결성 검사)
  • 헤드 테스트
  • 이미지 크기 및 관련 정보 검측
  • 파일 로드 체크
  • 좋은 웹페이지 즐겨찾기