国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python的Twisted框架實現(xiàn)webshell密碼掃描器的教程

2020-02-23 00:45:49
字體:
供稿:網(wǎng)友

好久以來都一直想學(xué)習windows中得iocp技術(shù),即異步通信,但是經(jīng)過長時間研究別人的c++版本,發(fā)現(xiàn)過于深奧了,有點吃力,不過幸好python中的twisted技術(shù)的存在方便了我。

     iocp即異步通信技術(shù),是windows系統(tǒng)中現(xiàn)在效率最高的一種選擇,異步通信顧名思義即與同步通信相對,我們平時寫的類似socket.connect  accept等都屬于此范疇,同樣python中得urlopen也是同步的(為什么提這個,是因為和后面的具體實現(xiàn)有關(guān)),總而言之,我們平時寫的絕大多數(shù)socket,http通信都是同步的。

    同步的程序優(yōu)點是好想,好寫。缺點大家都應(yīng)該感受到過,比如在connect的時候,recive的時候,程序都會阻塞在那里,等上片刻才能繼續(xù)前進。

     異步則是另一種處理思路,類似于xml解析的sax方法,換句話說,就是當面臨conncet,recive等任務(wù)的時候,程序先去執(zhí)行別的代碼,等到網(wǎng)絡(luò)通信有了結(jié)果,系統(tǒng)會通知你,然后再去回調(diào)剛才中斷的地方。

      具體的代碼下面有,我就細說了,大概總結(jié)下下面代碼涉及到的技術(shù)

1.頁面解析,webshell密碼自動post,必然涉及到頁面解析問題,即如何去找到頁面中form表單中合適的input元素并提交,其中包括了hidden的有value,password的需要配合字典。具體實現(xiàn)靠的是SGMLParser

 2.正常的頁面請求,我利用了urlopen(為了使用cookie,實際使用的是opener),片段如下

  cj = cookielib.CookieJar()   opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))   req = urllib2.Request(url, urllib.urlencode(bodyfieleds))     resp = opener.open(req, timeout=60)       strlist = resp.read() 

 代碼簡單,這就是python的魅力,bodyfieleds即為post的參數(shù)部分,是一個字典

3.異步的頁面請求,這里用了twisted的getpage片段如下:

  self.PostDATA[self.passw] = passl     #print temp   zs = getPage(self.url, method='POST', postdata=urllib.urlencode(self.PostDATA), headers=self.headers)   zs.addCallback(self.parse_page, self.url, passl).addErrback(self.fetch_error, self.url, passl)  

 可以看到如何利用getPage去傳遞Post參數(shù),以及header(cookie也是防盜header里面的)

以及自定義的Callback函數(shù),可以添加寫你需要的參數(shù)也傳過去,我這里使用了url和pass

4.協(xié)程并發(fā),代碼如下:

    def InitTask(self):       for passl in self.passlist[:]:         d = self.addURL(passl)         yield d      def DoTask(self):       deferreds = []       coop = task.Cooperator()       work = self.InitTask()       for i in xrange(self.ThreadNum):         d = coop.coiterate(work)         deferreds.append(d)       dl = defer.DeferredList(deferreds)             
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 临沧市| 威海市| 板桥市| 宁城县| 海兴县| 大庆市| 彝良县| 乌兰浩特市| 湖北省| 曲沃县| 德江县| 杭锦后旗| 手游| 克什克腾旗| 启东市| 嘉禾县| 安顺市| 都昌县| 宁乡县| 获嘉县| 东港市| 华池县| 阳朔县| 肇源县| 莫力| 武功县| 龙岩市| 射洪县| 留坝县| 东光县| 衢州市| 巴南区| 迭部县| 丰都县| 肥东县| 伊宁县| 新乐市| 武陟县| 登封市| 武宣县| 昌宁县|