CTF-MissFeng / Watchdog

Watchdog是bayonet修改版,重新优化了数据库及web及扫描程序,加入多节点
619 stars 120 forks source link

oneforall报错'NoneType' object is not iterable #8

Open Paladin1412 opened 4 years ago

Paladin1412 commented 4 years ago

Traceback (most recent call last): File "client/subdomain/oneforall/sbudomain_run.py", line 200, in main() File "client/subdomain/oneforall/sbudomain_run.py", line 89, in main subdomain.run() File "client/subdomain/oneforall/sbudomain_run.py", line 25, in run OneForAll(self.host).run() File "/Watchdog/Watchdog/client/subdomain/oneforall/../../../client/subdomain/oneforall/oneforall.py", line 237, in run self.main() File "/Watchdog/Watchdog/client/subdomain/oneforall/../../../client/subdomain/oneforall/oneforall.py", line 193, in main self.data = resolve.run_resolve(self.domain, self.data) File "/Watchdog/Watchdog/client/subdomain/oneforall/../../../client/subdomain/oneforall/common/resolve.py", line 164, in run_resolve data = update_data(data, records) File "/Watchdog/Watchdog/client/subdomain/oneforall/../../../client/subdomain/oneforall/common/resolve.py", line 39, in update_data items.update(record) TypeError: 'NoneType' object is not iterable 18:18:13,591 [INFOR] utils:557 - 结束执行massdns 18:18:13,592 [INFOR] resolve:68 - 正在处理解析结果

CTF-MissFeng commented 4 years ago

传递的值是什么,单独执行oneforall试试

Paladin1412 commented 4 years ago

return data,records时候records为空,对比目前新版oneforall的common/resolve.py文件,未对records为空的情况进行判断

Paladin1412 commented 4 years ago

onerforall 单独执行某子域名时不会触发,当新建任务为*.baidu.com等格式时必现

kesonn commented 3 years ago

这个问题有点严重,作者请问什么时候解决一下?

kesonn commented 3 years ago

image

CTF-MissFeng commented 3 years ago

说明获取的子域名对应的解析IP不是正确的ip,这里已经做了判断了。这是oneforall脚本bug,可看oneforall修复记录

1
kesonn commented 3 years ago

可是这样下来,上千个子域名,只入库了2个子域。。。。

kesonn commented 3 years ago

我记得旧版没有这个问题的

CTF-MissFeng commented 3 years ago

刚刚测试了下,并没有任何问题。解析子域名ip正常,你应该是扫描的泛解析的域名,解析对应的IP都是一样的不正确的。你可以换个普通域名试试

kesonn commented 3 years ago

谢谢大佬。楼主的报错,我也有 image

CTF-MissFeng commented 3 years ago

猜测应该是输入的格式错误了,当你输入.baidu.com时,程序会过滤.为空。所以剩余baidu.com是正确的。但是输入错误了(如空格.什么的),所以输入待扫描时请检查输入的格式是否为.domain。