fix checkSSRF
This commit is contained in:
14
.idea/workspace.xml
generated
14
.idea/workspace.xml
generated
@@ -3,8 +3,6 @@
|
|||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="42982c84-cdb2-4596-b4aa-818c31fc199a" name="Default" comment="">
|
<list default="true" id="42982c84-cdb2-4596-b4aa-818c31fc199a" name="Default" comment="">
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/security.java" afterPath="$PROJECT_DIR$/src/main/java/security.java" />
|
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/test.java" afterPath="$PROJECT_DIR$/src/main/java/test.java" />
|
|
||||||
</list>
|
</list>
|
||||||
<ignored path="$PROJECT_DIR$/out/" />
|
<ignored path="$PROJECT_DIR$/out/" />
|
||||||
<ignored path="$PROJECT_DIR$/target/" />
|
<ignored path="$PROJECT_DIR$/target/" />
|
||||||
@@ -34,8 +32,8 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||||
<state split_layout="SPLIT">
|
<state split_layout="SPLIT">
|
||||||
<first_editor relative-caret-position="37">
|
<first_editor relative-caret-position="-29">
|
||||||
<caret line="29" column="14" lean-forward="true" selection-start-line="29" selection-start-column="14" selection-end-line="29" selection-end-column="14" />
|
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
|
||||||
<folding />
|
<folding />
|
||||||
</first_editor>
|
</first_editor>
|
||||||
<second_editor />
|
<second_editor />
|
||||||
@@ -658,12 +656,12 @@
|
|||||||
<option name="number" value="Default" />
|
<option name="number" value="Default" />
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1504604417100</updated>
|
<updated>1504604417100</updated>
|
||||||
<workItem from="1504604422158" duration="4673000" />
|
<workItem from="1504604422158" duration="4803000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TimeTrackingManager">
|
<component name="TimeTrackingManager">
|
||||||
<option name="totallyTimeSpent" value="4673000" />
|
<option name="totallyTimeSpent" value="4803000" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="0" y="0" width="1280" height="800" extended-state="0" />
|
<frame x="0" y="0" width="1280" height="800" extended-state="0" />
|
||||||
@@ -786,8 +784,8 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||||
<state split_layout="SPLIT">
|
<state split_layout="SPLIT">
|
||||||
<first_editor relative-caret-position="37">
|
<first_editor relative-caret-position="-29">
|
||||||
<caret line="29" column="14" lean-forward="true" selection-start-line="29" selection-start-column="14" selection-end-line="29" selection-end-column="14" />
|
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
|
||||||
<folding />
|
<folding />
|
||||||
</first_editor>
|
</first_editor>
|
||||||
<second_editor />
|
<second_editor />
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
### 验证代码
|
### 验证代码
|
||||||
|
|
||||||
合法URL返回true,非法URL返回false
|
合法URL返回true,非法URL返回false。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
security checkUrl = new security();
|
security checkUrl = new security();
|
||||||
@@ -24,6 +24,7 @@ System.out.println(ret);
|
|||||||
## SSRF
|
## SSRF
|
||||||
|
|
||||||
JAVA默认dns请求会有30s的缓存,所以默认不存在dns rebind问题。除非重新设置ttl为0。
|
JAVA默认dns请求会有30s的缓存,所以默认不存在dns rebind问题。除非重新设置ttl为0。
|
||||||
|
|
||||||
### 验证逻辑
|
### 验证逻辑
|
||||||
|
|
||||||
1. 取URL的IP
|
1. 取URL的IP
|
||||||
@@ -39,6 +40,7 @@ JAVA默认dns请求会有30s的缓存,所以默认不存在dns rebind问题。
|
|||||||
URL只支持HTTP协议。
|
URL只支持HTTP协议。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
|
security checkUrl = new security();
|
||||||
ret = checkUrl.checkSSRF("http://127.0.0.1");
|
ret = checkUrl.checkSSRF("http://127.0.0.1");
|
||||||
System.out.println(ret);
|
System.out.println(ret);
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user