SQLMap无法建立SSL连接:如何传入SSL证书解决该问题
解决SQLMap无法建立SSL连接并传入自定义SSL证书的问题
遇到Can't establish SSL Connection错误,大多是因为你的本地测试站点用了自签名或者自定义的SSL证书,而SQLMap默认的CA证书库不认可这个证书。下面给你几个可行的解决办法,适配你用的SQLMap 1.4.2.42版本:
方法1:跳过SSL证书验证(快速测试用)
如果只是本地测试环境,不需要严格的证书验证,可以直接加--insecure参数跳过检查,命令修改为:
C:\Python27\sqlmap>sqlmap.py -u https://localhost:8774/App/console/index.jsp --force-ssl --insecure
这个参数会让SQLMap忽略证书的有效性,直接建立连接,适合快速排查问题。
方法2:指定CA证书(安全验证用)
如果你需要让SQLMap信任目标站点的证书,可以用--cacert参数指定CA证书文件的路径。假设你的CA证书存在C:\ssl-certs\my-local-ca.pem,命令如下:
C:\Python27\sqlmap>sqlmap.py -u https://localhost:8774/App/console/index.jsp --force-ssl --cacert="C:\ssl-certs\my-local-ca.pem"
这样SQLMap就会用你指定的CA证书去验证服务器的SSL证书,从而建立合法的连接。
方法3:客户端证书认证(双向SSL场景)
如果你的目标站点要求双向SSL认证(服务器需要验证客户端的证书),那你需要用--cert和--key参数分别指定客户端证书和私钥文件(如果证书和私钥合并在一个文件里,只需要指定--cert即可):
C:\Python27\sqlmap>sqlmap.py -u https://localhost:8774/App/console/index.jsp --force-ssl --cert="C:\ssl-certs\my-client-cert.pem" --key="C:\ssl-certs\my-client-key.pem"
小提示
- 确保证书文件的路径正确,Windows下如果路径包含空格,记得用双引号括起来
- 你用的Python2.7和SQLMap1.4.2.42版本完全支持以上所有参数,不用担心兼容性问题
内容的提问来源于stack exchange,提问作者Hafiz Muhammad Emraan
相关产品推荐
相关产品推荐

