编写C#查询证书域名小工具
"在渗入的侦察踩点环节,开展全方位的信息内容搜集对后边执行渗入的试着至关重要。
根据子域名工程爆破、百度搜索引擎查寻等方法搜集总体目标财产信息内容以外,针对对外开放443端口号HTTPS服务项目的网址,人们可根据HTTPS资格证书来搜集子域名和弟兄网站域名。
比如根据电脑浏览器资格证书作用查看详细信息在 那栏,能够发觉至少该应用资格证书受权的网站域名:
DNS Name=developers.weixin.手机QQ.Com
DNS Name=ad.weixin.手机QQ.Com
DNS Name=game.weixin.手机QQ.Com
DNS Name=as.weixin.手机QQ.Com
DNS Name=hk.open.weixin.手机QQ.Com
DNS Name=open.weixin.手机QQ.Com
DNS Name=api.weixin.手机QQ.Com
DNS Name=sz.api.weixin.手机QQ.Com
DNS Name=long.open.weixin.手机QQ.Com
DNS Name=mp.weixinbridge.Com
DNS Name=servicewechat.Com
DNS Name=hk.mp.weixin.手机QQ.Com
DNS Name=sz.mp.weixin.手机QQ.Com
DNS Name=hk.api.weixin.手机QQ.Com
DNS Name=sh.api.weixin.手机QQ.Com
DNS Name=sz.open.weixin.手机QQ.Com
DNS Name=a.weixin.手机QQ.Com
DNS Name=mp.weixin.手机QQ.Com
下边的共享就是说撰写这款全自动获得资格证书中弟兄网站域名的C#实用工具
最先根据Socket连接服务器HTTPS服务项目免费下载资格证书
TcpClient client = new TcpClient()
client.Connect(“mp.weixin.手机QQ.Com”, 443);
//应用SslStream类储存流
SslStream ssl = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
try
{
ssl.AuthenticateAsClient(host);
}
//catch (AuthenticationException e)
catch (Exception e)
{
Debug.WriteLine(e.Message);
ssl.Close();
client.Close();
return cert;
}
//得到资格证书,关掉
cert = new X509Certificate2(ssl.RemoteCertificate);
ssl.Close();
client.Close();
根据调节断点,可以看cert的各特性,里边沒有DNSName有关的
根据检索人们发觉X509Certificate2. GetNameInfo方式能够获得到资格证书的DNSName,启用方式给出
cert.GetNameInfo(X509NameType.DnsName, false)
运作程序流程,获得DnsName
Console.WriteLine(“{0}”, cert.GetNameInfo(X509NameType.DnsName, false));
显然人们发觉应用微软公司内置的类实际操作资格证书只有读完众多“使用人能选名字”中的1个值(第一个),必须换一个构思。
深化挖掘,在X509Certificate2. Extensions构造函数中储存有资格证书的拓展信息内容,
遍历出去观查一下下
foreach (X509Extension ext In cert.Extensions)
{
Console.WriteLine(“Oid {0} {1} {2}”, ext.Oid.FriendlyName, ext.Oid.Value, Encoding.Default.GetString(ext.RawData));
}
在资格证书拓展Oid.FriendlyName 为“使用人能选名字”的RawData中,储存着DNS Name值的目录,从这儿能够获得到资格证书关系的全部弟兄网站域名的统计数据。
可是这一目录统计数据正中间应用了不可见空格符隔开,根据将RawData转换格式(
相关文章
- 3条评论
- 温人眼趣2022-06-02 15:41:09
- ”中的1个值(第一个),必须换一个构思。 深化挖掘,在X509Certificate2. Extensions构造函数中储存有资格证书的拓展信息内容, 遍历出去观查一下下 foreach (X509Extension ext
- 鸠骨雾敛2022-06-02 06:46:22
- Line(e.Message);ssl.Close();client.Close();return cert;}//得到资格证书,关掉cert = new X509Certifica
- 闹旅闹旅2022-06-02 13:17:13
- xin.手机QQ.ComDNS Name=mp.weixinbridge.ComDNS Name=servicewechat.ComDNS Name=hk.mp.weixin.手机QQ.Com