내부 서버 오류 500개에 대한 숨겨진 비용

웹 API는 어디에나 있습니다!우리는 매일 API와 상호 작용합니다.우리는 API를 사용하여 트윗을 쓰고, 음악을 발견하고, 구매하거나, 네가 상상할 수 있는 모든 것을 쓴다.API Gateways과 같은 모드를 사용하여 다른 API로 구성된 응용 프로그램을 작성합니다.
설계가 잘 된 documented API와 상호 작용하여 자신과 고객에게 적합한 솔루션을 구축할 수 있습니다.
개성이 뛰어난 API는 HTTP response status codes을 사용하여 당신이 한 일이 옳은지 틀린지(200-209)를 알 수 있습니다.
API가 400-499 범위에서 응답하는 경우 일반적으로 요청을 조정하여 문제를 해결할 수 있습니다.유용한 API는 이 문제를 해결하기 위해 무엇을 해야 하는지 힌트를 줄 것이다.예를 들면 다음과 같습니다.
HTTP/1.1 400 Bad Request
Content-Type: application/json

{ 
  "timestamp": "2021-03-16T18:57:30.918+00:00",
  "status": 400,
  "error": "Bad Request",
  "message": "Missing required field, 'name'.",
  "path": "/pets"  
}
위의 예에서 응답은'name '필드가 부족하다는 것을 알려 줍니다.요청 주체를 업데이트하고 다시 시도하기만 하면 됩니다.
시간의 추이에 따라 당신은 결국 다른 반응을 얻게 될 것이다...🙀
HTTP/1.1 500 Internal Server Error

{
  "timestamp": "2021-03-16T18:57:30.918+00:00",
  "status": 500,
  "error": "Internal Server Error",
  "message": "",
  "path": "/foo"
}

500 내부 서버 오류


답장에는 유용한 정보가 포함되어 있을 수 있지만, 보통 불투명한 텍스트가 있어서 무슨 문제가 생겼는지 알려 준다.당신의 요구에 문제가 있습니까?잘못된 URL을 사용했습니까?API 공급업체가 제공하는 웹 페이지에서 API와 상호 작용할 경우 500이 발생할 수 있습니다.XHR 응답에 500개가 매몰되었습니다.
API의 모든 소비자는 이제 다음 단계 또는 모든 단계를 완료해야 합니다.
  • 요청에 명백한 오류가 있는지 확인한 후
  • 다시 시도
  • Stack overFlow/Google/etc에서 비슷한 질문 찾기 시작
  • 지원 담당자에게 연락하고 기다리십시오...
  • 은 잠시일 수도 있어요.다시 요청
  • ⚠️ 재시도도 위험할 수 있습니다. 요청이 부분적으로 완료되었습니까?신용카드는 지금 두 배로 지불해야 합니까?
  • 시간과 좌절감 측면에서 API를 사용하여 500 응답 코드를 실행하는 모든 소비자들은 이 비용을 증가시킬 것이다.개발자가 API를 사용하여 얻은 권한 수여감이 사라지기 시작할 것이다.

    500 내부 서버 오류는 무엇입니까?


    많은 500개의 내부 서버 오류는 단지 실행 중 오류 처리가 부족하기 때문이다.일부 자원 요청에 검증이 부족할 수 있습니다.일부 입력은 경로나 조회 파라미터가 예상한 변수 형식과 일치하지 않을 수도 있습니다.
    약 500명의 사람들이 인프라 시설의 고장과 같은 개발자의 통제를 전혀 받지 못할 수도 있다.
    다른 API 오류는 SQL 주입 또는 insecure deserialization과 같은 더 심각한 상황이 발생했음을 나타낼 수 있습니다.

    살려주세요!


    API 개발자는 negative testing을 통해 가능한 한 빨리 이러한 문제점을 찾을 수 있습니다.만약 충분한 계획이 없다면 음성 테스트는 흔히 소홀히 여겨진다. 왜냐하면 대부분의 테스트는 양성 테스트에 중점을 두기 때문이다.API가 happy path에서 수행해야 할 작업을 수행하는지 확인합니다.
    여기가 바로 fuzzing이 들어오는 곳!API 모호화는 API를 테스트하기 위해 전체 입력을 생성하는 기술입니다.모호 기술을 사용하여 입력을 생성하고 응용 프로그램의 응답을 관찰함으로써 API 모호기는 대량의 테스트 용례를 신속하게 교체하여 API 기능이나 안전성에서 약점을 발견할 수 있다.
    API를 모호화할 경우 내부 서버 오류 500개를 "결함이 있는"엔드포인트로 간주해야 합니다.우리 고객과 API 소유자에게는 최소한 시간을 낭비하는 것이고, 최악의 경우 심각한 잠재적 문제의 증상일 수도 있다.

    API의 혼란


    Mayhem for API는 현재 사용 가능한 API 모호화 도구로, swagger/OpenAPI 사양명세 또는 Postman collection 사양명세 레코드의 API를 모호하게 사용할 수 있습니다.You can start fuzzing your APIs today totally free for 30 days !
    이 도구는 발견된 500개의 오류와 API에서 보낸 요청 및 반환된 응답을 보고합니다.

    Mayhem for API를 파이핑 구축의 일부로 실행하면 실제 고객 문제를 해결하고 API fuzzer에서 내부 서버 오류 500개를 찾을 수 있습니다.

    기타 API 모호 도구


    API 모호 기술이 성숙됨에 따라 우리는 이 분야에서 많은 혁신을 보게 될 것이다.다음은 현재 적극적으로 개발 중인 기타 도구들입니다.
  • Microsoft RESTler
  • GitLab Web API Fuzzing
  • 즐거운 솜털!

    좋은 웹페이지 즐겨찾기