Python for InfoSec Part 5: Spidering


  • administrators

    Spidering:

    Loạt bài hướng dẫn này sẽ giới thiệu về một vài modules mới (optparse,spider) để thực hiện một vài nhiệm vụ của spidering trên ứng dụng web. Spidering là một tiến trình dựa vào link ở phần nội dung của ứng dụng web để xây dựng các site map. spidering tận dụng tốt python nhằm tạo ra các script một cách nhanh chóng
    Bạn có thể tạo ra các script crawler bằng việc phân tích các thẻ href trong phản hồi, sau đó tạo yêu cầu bổ xung.

    Bạn cũng có thể tận dụng các module Python được gọi là "Spider" để thực hiện điều đó trọng một vài dòng code như sau:

    Spider

    Có một vài các lựa chọn mà bạn có thể cấu hình nó để biết spider nó hoạt động như thế nào “myspider(b=URL.strip(), w=200, d=5, t=5)”. Hàm này sẽ trả về hai danh sách của URLs con và đường dẫn. Bạn có thể thay đổi cách hoạt động của spider bằng cách thay đổi các tham số truyền cho hàm myspider:
    b- đường dẫn của web ( mặc định là None)
    w- lượng tài nguyên để thu thập ( mặc định là 200)
    d- độ sâu để quét ( mặc định là 5)
    t- số luồng ( mặc định là None)

    Bài viết này chỉ là một cái nhìn sơ qua về cách sử dụng Python tương tác với các thành phần của web. Có một vài trường hợp nâng cao hơn cho sự tương tác tài nguyên web. Trong thời gian tới Blog sẽ tập trung vào một số trường hợp cao cấp hơn bởi các cuộc tấn công vào máy chủ web.
    Đoạn mã tận dụng các module Python spider:

    #!/usr/bin/python
    from spider import webspider as myspider
    import sys, optparse
     
    def crawler(URLs):
            for line in open(URLs, 'r'):
                    URL = line.strip()
                    links = myspider(b=URL.strip(), w=200, d=5, t=5)
                    link_count = len(links[0])
                    out = URL+": has a link count of "+str(link_count)
                    print "[+] Web Crawl Results for: "+URL
                    print out
                    for item in links[1]:
                            print item
     
    def main():
    # This optparse module allows you to build command line switches in your scripts
    # This will set the usage to '-r' and have it stored to a variable URLs
    # Then we will open the file given at the command line with -r and attempt to spider
            parser = optparse.OptionParser(sys.argv[0]+' '+
            '-r <file_with URLs>')
            parser.add_option('-r', dest='URLs', type='string', 
                    help='specify target file with URLs')
            (options, args) = parser.parse_args()
            URLs=options.URLs
     
            if (URLs == None):
                    print parser.usage
                    sys.exit(0)
            else:
                    crawler(URLs)
     
    if __name__ == "__main__":
          main()
    

    Dịch giả: Kim Chuyên


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.