免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6389 | 回复: 11
打印 上一主题 下一主题

[C] 绕过HTTPS的安全验证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-06 15:39 |只看该作者 |倒序浏览
我想通过构造POST报文的方式登陆一个HTTPS服务器,提交了请求后会因为得不到响应而超时。
后来发现是因为,没有绕过安全验证,就像在windows下面使用浏览器登陆一个https地址时会弹出一个对话框,
必须点了Yes才能获得响应。

在Linux下,用C语言怎么能绕过这个安全验证呢?


不好意思。我发现我的POST内容有问题,再用Base64编码用户名时漏了一个字母……所以没有响应。
麻烦各位了,真对不起

[ 本帖最后由 quxianyang 于 2009-3-7 16:30 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-03-06 15:45 |只看该作者
用openssl的库写一个SSL链接时自动信任证书的代码就可以了,但是可能会有安全方面的风险。

论坛徽章:
0
3 [报告]
发表于 2009-03-06 15:58 |只看该作者

回复 #2 snick 的帖子

能不能说得详细点,最好能给出示例。
我刚接触OpenSSL不久,还不怎么会玩。
谢谢

论坛徽章:
0
4 [报告]
发表于 2009-03-06 16:25 |只看该作者
汗,你怎么连的?直接 connect() 到 port 443 就 POST,还是不会检查 SSL_connect() 的返回值?

论坛徽章:
0
5 [报告]
发表于 2009-03-06 16:27 |只看该作者

回复 #4 langue 的帖子

我是用普通的socket中的connect,然后再用SSL_set_fd(ssl, sockfd)把ssl和socket绑定在一块的。
我这里好像本来就没有对证书进行验证

论坛徽章:
0
6 [报告]
发表于 2009-03-06 17:15 |只看该作者

回复 #4 langue 的帖子

又看了一遍代码。
我调用SSL_set_fd(ssl, sockfd)把ssl和socket绑定在一块以后,又调用了SSL_connect(ssl),
并且判断了返回结果是不是小于0。

我这里执行时这里是能够正常通过的。
但是发送POST请求后,就是收不到响应

论坛徽章:
0
7 [报告]
发表于 2009-03-06 17:20 |只看该作者
我用的是BIO 做的 一模一样的事情


嘿嘿 服务器在远端的话,  会有一个问题, send 没有发全。 要多次send. ssl 不比socket 啊

论坛徽章:
0
8 [报告]
发表于 2009-03-06 17:26 |只看该作者
用 openssl s_client 试试看,注意打开调试选项。

论坛徽章:
0
9 [报告]
发表于 2009-03-06 17:32 |只看该作者
openssl那套api可以设置callback函数处理证书相关的内容,在那个callback函数里面返回信任的信息就可以了。

论坛徽章:
0
10 [报告]
发表于 2009-03-06 19:44 |只看该作者

回复 #7 benjiam 的帖子

我是调用SSL_write写的HTTP请求。你的意思是要多次调用SSL_write?
能不能把你的代码给我看看?
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP