>  기사  >  백엔드 개발  >  Python을 사용하여 설문지를 자동으로 작성하는 방법

Python을 사용하여 설문지를 자동으로 작성하는 방법

巴扎黑
巴扎黑원래의
2017-09-07 09:51:223258검색

이 글은 주로 Python을 통한 설문지 자동 작성에 대한 관련 정보를 소개합니다. 필요한 친구들은 참고하시면 됩니다

0X00 Preface

학교가 곧 시작되는데, 설문지 작성에 대한 다양한 요청을 볼 수 있습니다. 그 공간. 나는 아직 그것을 하지 않았다는 것을 기억했습니다. 이런 무의미한 설문지는 싫기 때문에 "스턴트", 즉 파이썬을 사용하여 완성할 계획입니다. 그런데 오랫동안 사용하지 않았던 파이썬을 다시 복습하겠습니다. 다음으로 퍼포먼스가 시작됩니다...

0X01 코드 작성 아이디어

먼저 설문지를 작성합니다

설문지를 작성하여 제출하고 Burpsuite를 열어서 제출하기 전에 데이터 패키지를 차단합니다

가로채는 데이터 패킷 분석의 경우 일부는 분석에 도움이 되지 않는 URL로 인코딩되어 있습니다. Burpsuite 인코딩 모듈을 사용하여 디코딩하고 교체하면 분석이 더 쉬워집니다

이상한 데이터 문자열 submitdata=1$2}2$3}3$3}4$4}5$3}6$2}7$4}8$2}9$3}10$3이라는 게시물을 관찰한 결과 알 수 있습니다. 데이터를 주의 깊게 분석해 보면 submitdata = 질문 번호 $ 옵션 번호 } 질문 번호 $ 옵션 번호 } 질문 번호 $ 옵션 번호 }......

이 정보를 사용하여 Python 프로그램 작성을 시작하세요

실행 결과는 다음과 같습니다

웹사이트에 다른 크롤러 방지 메커니즘이 있는 것 같습니다. 여러 양식을 연속해서 제출하면 인증 코드가 나타납니다. 이번에 프로그램에 인증코드 식별 기능을 추가해야 하나요? 사실, 아니요. 먼저 Burpsuite에서 방금 가로채는 헤더 정보를 분석하여 웹사이트에서 우리가 설문지를 제출하기 위해 크롤러를 사용했다는 사실을 어떻게 식별했는지 확인할 수 있습니다.

몇 가지 테스트를 거친 후 3개의 설문지를 연속으로 제출한 다음 다른 IP를 변경하여 3개의 설문지를 제출했을 때, 즉 6개의 설문지를 연속으로 제출했을 때 안티 크롤러 메커니즘이 작동한다는 것을 발견했습니다. 웹사이트가 실행되지 않았습니다. 따라서 우리는 설문지의 IP 제출 빈도를 토대로 상대방이 크롤러 프로그램을 식별한다고 추측할 수 있습니다. 이것을 보면 우리가 무료 온라인 에이전트를 통해 설문지를 제출할 수 있다고 생각할 수도 있습니다. 예를 들면 다음과 같습니다

그렇다면 파이썬 코드에 무료 프록시 IP를 추출하는 기능을 추가해야 한다는 뜻인가요? 안돼 안돼 안돼! 생각을 바꾸면 CTF 대회에서 문제가 발생합니다. 예를 들어 IP가 독일 출신인 경우에만 플래그를 얻을 수 있습니다. 따라서 우리의 아이디어는 데이터 패킷 헤더를 스푸핑하고, IP를 위조하고, 서버를 속이는 것입니다. IP를 위조하는 몇 가지 방법에 대해 이야기해 보겠습니다.


X-Client-IP:1.1.1.1
X-Remote-IP:2.2.2.2
X-Remote-Addr:3.3.3.3
X-Originating-IP:4.4.4.4
X-Forwarded-For:5.5.5.5

각 항목을 시도한 다음 백그라운드 통계에서 설문지의 소스를 볼 수 있습니다.

여기서 X-Forwarded-For를 사용하여 이를 우회할 수 있다는 것을 알았습니다. 이 방법은 작업을 완벽하게 해결했습니다. 설문지 외부의 IP 주소를 제거하려는 경우 중국 IP 주소 세그먼트를 수집한 후 이를 프로그램에 추가하여 처리하면 됩니다.

0X02 요약

누구나 일반적으로 배운 내용을 실생활에 적용할 수 있습니다. 어려움에 직면했을 때 당황하지 말고 더 많이 생각하고 최선의 해결책을 찾으세요. 예를 들어 위에서는 코드에 인증 코드 인식 모듈을 추가하지 않았고 웹사이트의 크롤러 방지 메커니즘을 우회하기 위해 프록시를 사용하지도 않았습니다. 대신 웹사이트의 크롤러 방지 메커니즘을 분석하고 제가 배운 보안 지식을 사용했습니다. (HTTP 헤더 속이기) 가장 짧은 코드를 사용하여 쉽게 문제를 해결하고 완벽하게 작업을 완료합니다.

위 내용은 Python을 사용하여 설문지를 자동으로 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.