分类 Java 下的文章

Struts2多版本一次性检测工具V3.0

本工具包含了S2-005、S2-009、S2-016、S2-019、S2-032、S2-033、S2-037、S2-045、S2-046、devMode Struts2、Spring Boot EL表达式漏洞一次性检测

可能有其他的版本未添加,目前我只收集了这些POC,如果有其他版本的可以联系我.
Blog友情互换:http://www.0ke.org/

警告:
该工具仅做漏洞自查使用,请勿非法攻击他人网站!

V3.0更新内容:
S2-045、S2-046漏洞检测

工具预览:
Struts2多版本一次性检测工具V3.0.jpg

下载地址:
Struts2多版本一次性检测工具V3.0.zip

PS:反编译有彩弹哦~

WebScanner资产信息整理工具

练手写的东西,代码渣,轻点吐槽,有兴趣的小伙伴欢迎交流学习~

项目文件介绍:

Lib----包文件目录
Dbconfig.properties----数据库配置信息及扫描端口信息
Ip.txt----扫描IP段信息
Start.bat----服务启动
WebScanner.jar----程序主运行jar包
Webscans.sql----数据库表创建SQL

使用说明:
1.使用webscans.sql在Mysql数据库中创建表

2.打开dbconfig.properties配置数据信息:

driver=com.mysql.jdbc.Driver
ip=127.0.0.1
port=3306
data=webscan
user=root
password=12340012
webscanport=80,8080,7001

(ip:mysql服务IP,port:mysql服务端口,data:mysql数据库名,user:mysql数据库账号,password:mysql数据库密码,webscanport:要扫描的端口,以逗号隔开,支持多端口)

3.ip.txt写入要扫描的IP段
格式:1.1.1.1 1.1.1.255(以空格隔开,支持多行)
建议扫C段,其实也可能扫B段,代码渣,不怕崩你可以试试

4.运行Start.bat开始扫描,线程根据自己情况设置.

效果图:
请输入图片描述

请输入图片描述

下载地址:点击下载
软件仅做测试及甲方对资产整理使用,请勿使用其他非法用途。

java put方式

package com.test;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;

import org.apache.http.*;


public class test
{
    public static void main(String[] args) throws Exception {
        testUpdate();
    }
    public static void testUpdate() throws Exception {
        String url = "";
        HttpClient client = HttpClientBuilder.create().build();
        HttpPut put = new HttpPut(url);
        put.setHeader("Content-type", "application/json");
//      StringEntity params =new StringEntity(jo.toString());
//      put.setEntity(params);
        HttpResponse response = client.execute(put);
           Header[] headers = response.getAllHeaders();
           for(int i=0;i<headers.length;i++) {
               System.out.println(headers[i].getName() +"=="+ headers[i].getValue());
              }
        System.out.println("Response Code:"+response.getStatusLine().getStatusCode());
        BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        StringBuffer result = new StringBuffer();
        String line = "";
        while ((line = rd.readLine()) != null) {
        result.append(line);
        }
        System.out.println("result:"+result);
    }
}

根据GeoIP快速把IP转换成经纬度(Java版)

GeoIP jar包:geoip-api-1.3.1.jar
下载地址:http://pan.baidu.com/s/1kU5X0RP
Geo city dat文件:GeoLiteCity-2013-01-18.dat
下载地址:
老数据地址:http://pan.baidu.com/s/1eRVkkgy
官方更新地址:(找到城市的下载即可)http://dev.maxmind.com/geoip/legacy/geolite/

把dat文件放在自己的本地目录,然后项目中导入geoip.jar即可:

import com.maxmind.geoip.Location;
import com.maxmind.geoip.LookupService;
import java.io.IOException;

public class TestMain {
public static void main(String[] args) {
try {
LookupService cl = new LookupService("D:/lib/geoip/GeoLiteCity-2013-01-18.dat", LookupService.GEOIP_MEMORY_CACHE);
Location l2 = cl.getLocation("144.0.9.29");
System.out.println(
"countryCode: " + l2.countryCode +"\n"+
"countryName: " + l2.countryName +"\n"+
"region: " + l2.region +"\n"+
"city: " + l2.city +"\n"+
"latitude: " + l2.latitude +"\n"+
"longitude: " + l2.longitude);
} catch (IOException e) {
e.printStackTrace();
}
}
}
输出内容:

countryCode: CN
countryName: China
region: 25
city: Jinan
latitude: 36.668304
longitude: 116.99719

java多线程的两种方式

package com.zmc.test;

public class test {
    public static void main(String[] args) {
        /**
         * demo1
         */
        Thread thread=new Thread(){
            public void run(){
                while (true) {
                    try {
                        //设置现成休眠500毫秒(0.5秒)
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    System.out.println("1:"+Thread.currentThread().getName());
                }
            }
        };          
        thread.start();
        
        /**
         * demo2
         */
        Thread thread2=new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    System.out.println("2:"+Thread.currentThread().getName());
                }
            }
        });
        thread2.start();
    }

}