调用Metasploit RestFul接口,解决证书问题

来源:互联网 发布:查询数据库所有触发器 编辑:程序博客网 时间:2024/06/05 08:37

调用Metasploit restful接口的时候,证书出现问题,下面是解决并调用

import java.awt.List;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.ArrayList;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import javax.xml.transform.Templates;import org.msgpack.MessagePack;import org.msgpack.template.Template;import org.omg.CORBA_2_3.portable.OutputStream;/** * @Title: Restful.java * @Package Restful * @author Ishadow * @date 2016��6��19�� ����1:15:43 * @version V1.0 */public class Restful {    public static String doGet(String restfulURL) throws KeyManagementException, NoSuchAlgorithmException {        HttpsURLConnection.setDefaultHostnameVerifier(new Restful().new NullHostNameVerifier());        SSLContext sc = SSLContext.getInstance("TLS");        sc.init(null, trustAllCerts, new SecureRandom());        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());        URL url = null;        InputStream iStream=null;        InputStreamReader iReader=null;        BufferedReader breader=null;        try {            url = new URL(restfulURL);            // restful            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            conn.setRequestMethod("GET");// POST GET PUT DELETE            conn.setRequestProperty("Accept-Charset", "utf-8");            conn.setRequestProperty("accept", "*/*");            conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");            conn.setRequestProperty("token", "4c54d80875b80047bdaa21ae16176e63");            conn.setConnectTimeout(130000);            conn.setReadTimeout(130000);            System.out.println(conn.getResponseCode());            if (200 == conn.getResponseCode()) {                iStream=conn.getInputStream();                iReader=new InputStreamReader(iStream,"utf-8");                breader=new BufferedReader(iReader);                StringBuffer sBuffer=new StringBuffer();                String temp="";                while ((temp=breader.readLine())!=null) {                    sBuffer.append(temp);                }                System.out.println(sBuffer.toString());                return sBuffer.toString();            }        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            try {                if(breader!=null){                    breader.close();                }                if (iReader != null) {                    iReader.close();                }                if (iStream != null) {                    iStream.close();                }            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        return "";    }    public static String doPOST(String restfulURL)throws KeyManagementException, NoSuchAlgorithmException {        HttpsURLConnection.setDefaultHostnameVerifier(new HttpClient().new NullHostNameVerifier());        SSLContext sc = SSLContext.getInstance("TLS");        sc.init(null, trustAllCerts, new SecureRandom());        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());        URL url = null;        InputStream iStream=null;        InputStreamReader iReader=null;        BufferedReader breader=null;        DataOutputStream dOutputStream=null;        try {            url = new URL(restfulURL);            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            conn.setRequestMethod("POST");// POST GET PUT DELETE            conn.setDoInput(true);            conn.setDoOutput(true);            conn.setRequestProperty("Accept-Charset", "utf-8");            conn.setRequestProperty("accept", "*/*");            // 固定的设置binary/message-pack            conn.setRequestProperty("Content-Type", "binary/message-pack");            //conn.setRequestProperty("token", "4c54d80875b80047bdaa21ae16176e63");            conn.setConnectTimeout(130000);            conn.setReadTimeout(130000);            conn.connect();            ArrayList<String> requeStrings=new ArrayList<String>();            requeStrings.add("auth.login");            requeStrings.add("AttUser002");            requeStrings.add("+123TestCheck");            //requeStrings.add("4c54d80875b80047bdaa21ae16176e63");            MessagePack messagePack=new MessagePack();            byte [] bytes=messagePack.write(requeStrings);            //输入流            dOutputStream=new DataOutputStream(conn.getOutputStream());            dOutputStream.write(bytes);            dOutputStream.flush();            iStream=conn.getInputStream();            iReader=new InputStreamReader(iStream,"UTF-8");            breader=new BufferedReader(iReader);            StringBuffer sBuffer=new StringBuffer();            String temp="";            while ((temp=breader.readLine())!=null) {                sBuffer.append(temp);            }            System.out.println(sBuffer.toString());            return sBuffer.toString();        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            try {                if(breader!=null){                    breader.close();                }                if (iReader != null) {                    iReader.close();                }                if (iStream != null) {                    iStream.close();                }            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        return "";    }    public static void main(String[] args) throws IOException, KeyManagementException, NoSuchAlgorithmException {        //doGet("https://172.16.30.99:3790/rest_api/v2/workspaces/6/hosts/4/services/46/vulns");        doPOST("https://172.16.30.99:3790/api/1.0/");    }    static TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {        @Override        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {            // TODO Auto-generated method stub        }        @Override        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {            // TODO Auto-generated method stub        }        @Override        public X509Certificate[] getAcceptedIssuers() {            // TODO Auto-generated method stub            return null;        }    } };    public class NullHostNameVerifier implements HostnameVerifier {        /*         * (non-Javadoc)         *          * @see javax.net.ssl.HostnameVerifier#verify(java.lang.String,         * javax.net.ssl.SSLSession)         */        @Override        public boolean verify(String arg0, SSLSession arg1) {            // TODO Auto-generated method stub            return true;        }    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 考研二战档案打回原籍怎么办 脸上的肉往下掉怎么办 眼镜带了往下掉怎么办 孩子捅别的孩子眼睛了怎么办 眼睛不小心捅伤怎么办 我的爸爸是小偷怎么办 违停罚款忘记交怎么办 顺风车无人接单怎么办 来例假腰特别疼怎么办 把人撞死了全责怎么办 朝鲜与美合作对付中国怎么办 申请美国大学gpa不够怎么办 武装突袭3有地雷怎么办 辐射4狗肉跟丢了怎么办 洛奇英雄传死绑S怎么办 在老挝遇到坏人带枪怎么办 买了sd卡卡槽塞不下怎么办 现役军人家庭被邻居欺服怎么办 地铁买票买多了怎么办 免税店买的东西转机怎么办 绿能电动车坏了怎么办? 永久单车收不到验证码怎么办 24速山地车档乱了怎么办 新电瓶车被偷了怎么办 汽车前风挡玻璃砸出洞怎么办 凯迪拉克xt5钥匙掉了怎么办 凯迪拉克xt5媒体不好用怎么办 晒黄的白鞋怎么办 白鞋子被晒黄了怎么办? 耐克空军一号白色发黄怎么办 空军一号破皮了怎么办 匡威鞋帆布破了怎么办 脚腕起疙瘩很痒怎么办 跑步后脚踝微疼怎么办 跑步跑得脚疼怎么办 nike air 鞋头脱胶怎么办 耐克空军一号磨脚怎么办 白鞋刷完变黄了怎么办 乔丹气垫坏了怎么办 气垫鞋气垫坏了怎么办 建行u盾忘记密码怎么办