Thinkphpgui项目重置
改造工具链接 https://github.com/Lotus6/ThinkphpGUI 代码结构 pom.xml引入了http请求库kevinsawicki 我们从执行流程处开始研究下代码怎么写的: public static void main(String[] args) throws Exception { // 创建tp_view对象,用于显示ThinkPHP视图 tp_view f = new tp_view(); // 设置窗口居中显示 f.setLocationRelativeTo(null); // 设置当关闭窗口时默认的操作为退出程序 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 将窗口设置为可见,即显示窗口 f.setVisible(true); } 可以看到主程序下面三行都为窗口显示问题,我们跟踪下tp_view对象: 看到tp_view()调用initComponents()方法初始化tp_view对象的组件,接着看下initComponents: 一些常规组件的定义,用的是java.awt库。 检测按钮调用check_url方法: 查看check_url方法: 首先调用checkTheURL方法,主要检测url是不是以http开头: 如果符合会调用check_url方法: url为url,version为combobox组件选中的文本 当文本等于ALL时,定义一个列表,然后for循环遍历 BasePayload bp = Tools.getPayload(v); 获取关键字对应漏洞信息。 exploit包里主要是实现了utils包里的BasePayload接口 basepayload定义了三个接口: 检测接口 Result checkVUL(String url) throws Exception; 命令执行接口 Result exeVUL(String url,String cmd) throws Exception; 获取shell接口 Result getShell(String url) throws Exception; 其中Result为定义的java实例: 主要有三个属性:...