2012-08-11 4 views
5

SQLmap 작동 방식을 이해하려고합니다. Sqlmap 트래픽 캡처

Place: GET 
Parameter: selected 
    Type: UNION query 
    Title: MySQL UNION query (NULL) - 5 columns 
    Payload: act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL# 

, 나는 데이터베이스를 덤프 할 수하는 SQLMaps를 사용하지만 어떻게 브라우저에서 같은 데이터베이스를 덤프 - 예를 들어

sqlmap 내 사이트에 주사를 발견? 다음 링크를 브라우저에 넣으려고했지만 작동하지 않습니다. -

http://www.site.com/index.php?act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL# 

브라우저에서 아무런 결과가 나오지 않습니다. 나는/** /와 + 등을 넣는 다른 방법을 시도했지만 빨았습니다.

  • 침투 테스트를 위해 Sqlmap에서 보내는 링크를 얻는 방법은 무엇입니까?

  • 이 주사로 간단한 select version() 쿼리를 이용하는 방법은 무엇입니까?

  • 아마도 실제로 작동하지 않습니까?

답변

1

복사 및 붙여 넣기 오류가없는 한 시도하는 링크는 유효한 URL이 아니며 실제 SQL 명령이 브라우저에서 변환되는 방식이 아닙니다.

실제로 어떤 SQLmap이 전송되는지 알고 싶다면 관련 인터페이스에서 tcpdump/tshark/wireshark 중 하나를 실행하여 실제로 무엇이 전선을 통해 전송되는지 확인하는 것이 좋습니다. 이것이 도구가 실제로 무엇을하는지 이해하는 가장 좋은 방법입니다. 예를 들어,

sudo tcpdump -s0 -Xnnpi eth0 -w /var/tmp/sqlmap.pcap port 80 

과 같은 것을 사용할 수 있습니다.

한편 Wireshark를 열고 eth0 인터페이스에서 캡처하면됩니다. 실제 트래픽은 Wireshark의 Application Layer에 표시됩니다.

질문에 따라 응용 프로그램을 악용하려면 올바르게 인코딩되고 URL이 제대로 인코딩되고 웹 응용 프로그램이 URL을 변환하여 데이터베이스로 보낼 수 있도록해야합니다. 브라우저에서 URL 표시 줄을 사용하여 SQL 주입을 테스트하려면 link을, 여기에 또 다른 cheat sheet가 있습니다.

나는 sqlmap이 효과가 있다고 믿습니다. 아주 좋습니다.

면책 조항 :이 테스트를 수행 할 수있는 법적 권한이 있거나 실험실 환경에 있음을 신뢰합니다.

+1

침투 테스트를 위해 Sqlmap에서 보내는 링크를 얻는 방법은 무엇입니까? 그냥 sqlmap 키를 사용하여 해결되었습니다. -v 3 이 주입으로 간단한 select version() 쿼리를 사용하는 방법 브라우저에서 #를 -로 변경하는 방법 –

2

나는 당신이 sqlmap 쿼리의 상세도를 높일 수 있다고 생각한다. https://github.com/sqlmapproject/sqlmap/wiki/Usage#output-verbosity

옵션 :이 옵션은 출력에 대한 상세 레벨을 설정하는 데 사용할 수 있습니다

-v

이 여기

-v=4이 기능의 공식 사용 설명입니다해야 메시지. 7 단계의 자세한 표시가 있습니다.기본 레벨은 정보, 경고, 오류, 중요한 메시지 및 파이썬 추적 (있는 경우)이 표시되는 1입니다.

0 : 파이썬 추적 코드, 오류 및 중요한 메시지 만 표시합니다.

1 : 정보 및 경고 메시지 표시.

2 : 디버그 메시지도 표시합니다.

3 : 페이로드가 삽입되었습니다.

4 : HTTP 요청도 표시합니다.

5 : HTTP 응답 헤더도 함께 표시합니다.

6 : HTTP 응답의 페이지 콘텐츠도 표시합니다.