Python工具开发 | 目录扫描脚本

论坛 期权论坛 期权     
python二级   2019-7-7 23:19   2960   0
[h1]前言[/h1]最近开始学习Pthon安全编程,记录一下。
[h1]思路[/h1]目录扫描器一般有几个功能点:输入url,字典,线程,所以说,我们要实现这3个功能点,差不多就做了一半了。我们再来看看目录扫描器的工作流程


画的有点丑,不过简而言之就是用户输入url和字典,然后把两者拼接起来,通过状态码来判断这个文件存不存在
代码实现
[code]import sysimport osimport queueimport requestsimport timeimport threadingq=queue.Queue()def scan():while not q.empty():  ### 只要字典里不为空,就一直循环   dir=q.get()        ### 把存储的payload取出来   urls=url+dir       ### url+payload就是一个payload   urls=urls.replace('\n','')  ### 利用回车来分割开来,不然打印的时候不显示   code=requests.get(urls).status_code  ### 把拼接的url发起http请求   if code==200 or code==403:   ### 如果返回包状态码为200或者403,就打印url+状态码       print(urls+'|'+str(code))       f=open('ok.txt','a+')  ###       f.write(urls)       f.close()       然后把结果以追加的方式存储到ok.txt中,然后关闭文件   else:       print(urls+'|'+str(code))       time.sleep(1)       ### 不然就打印url+状态码,并延时一秒def show():   print("                        _  _                                ")   print("                     __| |(_) _ __   ___   ___  __ _  _ __  ")   print("                    / _` || || '__| / __| / __|/ _` || '_ \ ")   print("                   | (_| || || |    \__ \| (__| (_| || | | |")   print("                    \__,_||_||_|    |___/ \___|\__,_||_| |_|")   print("                                                            ")   print("说明:网址+字典文件+线程,例如:filesan.py http://www.xxx.cn 1.txt 10")   print("Author:KingHandles5")if __name__ == '__main__':   path=os.path.dirname(os.path.realpath(__file__)) ### 这里的功能是获取当前的路径   if len(sys.argv)
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:30
帖子:6
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP