add getRealIP

This commit is contained in:
JoyChou
2017-09-14 17:38:34 +08:00
parent 45535b6588
commit 3d7f0a2bd4
19 changed files with 505 additions and 157 deletions

View File

@@ -23,9 +23,12 @@
合法URL返回true非法URL返回false。
```java
security urlCheck = new security();
// URL白名单组件测试
checkURL urlCheck = new checkURL();
String[] urlWList = {"joychou.com", "joychou.me"};
Boolean ret = urlCheck.checkUrlWlist("http://test.joychou.me", urlWList);
Boolean ret = urlCheck.checkUrlWlist("http://test.joychou.org", urlWList);
System.out.println(ret);
```
## checkSSRF
@@ -45,11 +48,13 @@ Boolean ret = urlCheck.checkUrlWlist("http://test.joychou.me", urlWList);
URL只支持HTTP协议。
```java
security urlCheck = new security();
// SSRF组件测试
SSRF check = new SSRF();
String url = "http://dns_rebind.joychou.me";
ret = urlCheck.checkSSRF(url);
ret = check.checkSSRF(url);
if (ret){
// curl url
String con = Request.Get(url).execute().returnContent().toString();
System.out.println(con);
}
else {
System.out.println("Bad boy. The url is illegal");
@@ -59,9 +64,12 @@ else {
### 绕过姿势
以上代码在设置TTL为0的情况可以用以下方法绕过 :
以上代码在设置TTL为0的情况可以用DNS Rebinding绕过。
1. DNS Rebind
2. 域名解析2个A记录地址分别为外网和内网
但是只要Java不设置TTL为0该代码逻辑上不存在被绕过风险。
## 获取真实IP
用这份代码必须保证前面Proxy有把真实IP放到X-Real-IP头。
也就是说只要Java不设置TTL为0该代码逻辑上不存在被绕过风险。