先聲明博主周末一般是不寫文章的,也不怎么瀏覽網站(陪家人),如果偶爾有空暇會簡單的更新一兩篇,這個周末博主突然在打開網站時出現讓輸入用戶名與密碼的提示,這個讓博主很納悶,但這倒是難不住一些人的,隨手就解決了,但突然想到是不是也有部分人會因為這個問題而到處搜集資料或者尋求別人幫忙,更有甚者這些很簡單的問題,有些人都不想動手利用網絡去解決,而利用自己的什么VIP群去解決,最后一點很讓人無奈哦,但不管怎樣,博主還是要把這么個簡單的問題寫出來,以便讓有些人更好的去解決問題。
問題如圖:
問題解析:
出現這個提示,不乏有幾個分析方向,這里列舉一下:
1、IIS權限設置的問題;
2、匿名用戶的訪問;
3、“IUSR_您的計算機名”的問題;
問題可能原因:
1、查看網站屬性——文檔
看看啟用默認文檔中是否存在:index.asp index.htm index.html
2、查看網站屬性——主目錄
A、本地路徑是否指定正確
B、是否勾選“腳本資源訪問”?
C、是否勾選“讀取”?
D、執行權限:純腳本
3、查看網站屬性——目錄安全性——編輯
A、是否勾選“匿名訪問”?
B、用戶名:IUSR_您的計算機名
C、密碼不用改,勾選“允許IIS控制密碼”就可以了
D、其它不用選
4、查看網站屬性——網站
A、IP地址:全部未分配或者選擇一個
B、TCP端口:80
5、打開控制面板——管理工具——計算機管理——本地用戶和組——用戶
A、看看“IUSR_您的計算機名”此用戶有沒有啟動,必須啟動
B、看看“IWAM_您的計算機名”此用戶有沒有啟動,必須啟動
C、在“IWAM_您的計算機名”該用戶上按右鍵——設置密碼
6、打開控制面板——管理工具——組件服務——組件服務——計算機——我的電腦——COM+應用程序
A、在“IIS Out-Of-Process Pooled Applications”上按右鍵選擇‘屬性’——選擇‘標識’,指定用戶:IWAM_您計算機名(說明:可以點瀏覽查找);輸入密碼,密碼上面步驟的密碼。再次啟動該服務,啟動后它會動。
B、在“IIS In-Process Applications”上按右鍵選擇‘屬性’——選擇‘安全性’,將‘啟用身份驗證’勾去掉
C、在“IIS Utilities”上按右鍵選擇‘屬性’——選擇‘安全性’,將‘啟用身份驗證’勾去掉。
以上都有可能解決您所遇到的問題,但博主只用了一個就解決了,那就是由于用戶匿名訪問使用的賬號(默認是IUSR_機器名)被禁用,或者沒有權限訪問計算機,將造成用戶無法訪問。
如下圖:
紅色的×表示沒有啟動就表示沒有啟動,啟動方法就是將“用戶不能更改密碼”與“帳戶已禁用”不要勾選就可以了;完成之后,網站順利打開了,所有步驟完成。
最后博主簡單說兩句,像以上這樣的問題,在網絡上比比皆是,到處都是解決方案,但很少有人去搜索解決,或者搜索到了仍解決不了,這里需要提醒下,每個人遇到的問題都是不太一樣的,或許你是其它原因,所以用這個方法不能解決,但一定要自己去思考去分析,而不是直接去問別人,讓別人替你解決很省心,但你會越來越懶的思考。
/文:迷神
現在寫爬蟲也難啊,現在Python爬蟲寫多了,發覺很多大型網站都開始用js 加密技術。記得,有次在利用webQQ登錄時需要的某些參數時,從js中獲取到的js的加密的函數。如果要轉化成對應的Python代碼,還是有點難度的。那又沒辦法直接執行JavaScript代碼呢,答案是肯定有的。
為了實現我們自己的Python爬蟲的春秋大夢,我們還是要一抗到底,對,突破它。
本次推薦推薦的主角是:PyExecJS
python安裝PyExecJS很簡單:pip install PyExecJS
使用實例:
# -*- coding: UTF-8 -*-
import execjs
#hash33 是javascript函數
encrypt_fun=execjs.compile("""
function hash33(t) {
for (var e=0, i=0, n=t.length; i < n; ++i)
e +=(e << 5) + t.charCodeAt(i);
return 2147483647 & e
}
""")
print encrypt_fun.call("hash33", "5Kj0l5GEwtMm-VuxuL98Rt*2Qd-UDmNaaQgxtGtZcm9-Umco7PUC8GuQ5nI-3jut")
#快速執行js代碼,比如:
#execjs.eval("1 + 2 + 3 + 4")
#>結果:355347598
其實,這個主要利用的就是python可以執行JavaScript,execjs會自動使用當前電腦上的運行時環境(建議用nodejs,與Phantomjs)。現在很多網站都喜歡使用JavaScript生成各種密鑰令牌,加密,主要是需要大家舉一反三,觸類旁通即可。
目標地址:ac。scmor。com 自己具體替換接口。
通過執行加密函數的js文件,來抓取活的最終這個上面的所有鏡像網址。
目標地址
目標網址里面的地址,都是被加密過的,如圖:
加密地址了
通過查看發覺是使用一個叫visit() 的js函數加密了:
加密
2個相關函數如下:
function visit(url) {
var newTab=window.open('about:blank');
if(Gword!='') url=strdecode(url);
newTab.location.href=url;
}
#其實這個 Gword,是頁面定義的變量:var Gword="21b5del6oIO57e01a",
function strdecode(string) {
string=base64decode(string);
key=Gword + 'ok';
len=key.length;
code='';
for (i=0; i < string.length; i++) {
var k=i % len;
code +=String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k))
}
return base64decode(code)
}
我們實際用到的就是這個 strdecode函數,當然要加上密鑰函數,密鑰可以去網站實際搜索下,即可搜索到,有Gword和hn2個, 另外,這個strdecode函數還調用了另外一個函數:base64decode(),而base64decode又調用了一個 base64DecodeChars 的數組,把這些都 添加文件里面的js代碼,encrypt.js 如下:
完整代碼
有了加密的js文件,我們就要實現我們最終的python代碼,主要流程就是先爬取網頁,獲取到js加密的網址,然后python調用執行JavaScript代碼,進行還原即可。
最終代碼如下:
# coding=utf-8
import requests
import execjs
import re
node=execjs.get()
# print(execjs.get().name)
source_url='http://ac.scmor.com/'
source_headers={
'User-Agent':'Mozilla/5.0 (Windows; ) AppleWebKit/537 (KHTML, Gecko) Chrome/55 Safari/537',
}
source_res=requests.get(url=source_url, headers=source_headers)
re_source=re.findall(r'var autourl=\["(.*)"\];var',source_res.text)
re_source=re_source[0]
file='./encrypt.js'
ctx=node.compile(open(file).read())
re_source=re_source.split('","')
for each_source in re_source:
#print(each_source)
md_js='strdecode("%s")' % each_source #破解中的函數,
href=ctx.eval(md_js)
print(href)
執行結果:
當初除了這個模塊,還有一個:js2py,pip install js2py 即可安裝,比較類似,大家自行學習啦。
好了,就這么多啦,有問題大家可以留言交流,覺得不錯,也多多轉發和關注迷神哦,后面還將繼續分享更多的精彩內容哦。
imipenguin 是一個免費、開源、簡單但是強大的 shell/python 腳本,用來從當前 Linux 桌面用戶轉儲登錄憑證(用戶名和密碼),并且已在不同的 Linux 發行版中測試過。 -- Aaron Kili
本文導航
-mimipenguin 是如何工作的? …… 15%
-在 Linux 中安裝 mimipenguin …… 30%
-未來更新 …… 61%
編譯自: https://www.tecmint.com/mimipenguin-hack-login-passwords-of-linux-users/作者: Aaron Kili
譯者: geekpi
mimipenguin 是一個免費、開源、簡單但是強大的 shell/python 腳本,用來從當前 Linux 桌面用戶轉儲登錄憑證(用戶名和密碼),并且已在不同的 Linux 發行版中測試過。
另外,它還支持如:VSFTPd(活躍的 FTP 客戶端連接)、Apache2(活躍的/舊的 HTTP 基礎認證會話,但是這需要 Gcore),還有 openssh-server(活躍的 SSH 鏈接,需用 sudo 命令[1])。重要的是,它逐漸被移植到其他語言中,以支持所有可想到的以后可以利用的情況。
要理解 mimipenguin 是如何工作的,你需要知道所有或者大多數的 Linux 發行版會在內存中存儲大量的重要信息, 如:憑據、加密密鑰以及個人數據。
尤其是用戶名和密碼是由進程(運行中的程序)保存在內存中,并以明文形式存儲較長時間。mimipenguin 在技術上利用這些在內存中的明文憑證 - 它會轉儲一個進程,并提取可能包含明文憑據的行。
然后,通過以下內容的哈希值來嘗試計算每個單詞的出現幾率:/etc/shadow、內存和 regex 搜索。一旦找到任何內容,它就會在標準輸出上打印出來。
我們將使用 git 來克隆 mimipenguin 倉庫,因此如果你還沒安裝,那么首先在系統上安裝 git。
$ sudo apt install git #Debian/Ubuntu systems$ sudo yum install git #RHEL/CentOS systems
$ sudo dnf install git #Fedora 22+
接著像這樣在你的家目錄(或者其他任何地方)克隆 mimipenguin 目錄:
$ git clone https://github.com/huntergregal/mimipenguin.git
下載完成后,進入并如下運行 mimipenguin:
$ cd mimipenguin/$ ./mimipenguin.sh
注意:如果你遇到下面的錯誤,那就使用 sudo 命令:
Root required - You are dumping memory...Even mimikatz requires administrator
在 Linux 中轉儲登錄密碼
從上面的輸出中,mimipenguin 向你提供了桌面環境的用戶名和密碼。
另外,還可以如下運行 python 版腳本:
$ sudo ./mimipenguin.py
注意有時 gcore 可能會阻塞腳本(這是 gcore 中一個已知問題)。
下面是將會被添加到 mimipenguin 的功能:
提升總體效率
添加更多支持以及其他的憑據位置
包括支持非桌面環境
添加 LDAP 的支持
mimipenguin 的 Github 倉庫:https://github.com/huntergregal/mimipenguin
同樣,請查閱:
如何在 Linux 中用密碼保護一個 vim 文件[2]
如何在 Linux 中生成/加密/解密隨機密碼[3]
如何在 RHEL/CentOS/Fedora 中用密碼保護 GRUB[4]
在 CentOS 7 中重置/恢復忘記的 root 用戶賬號密碼[5]
在下面的評論欄中分享你關于這個工具的額外想法或者對 Linux 中內存中明文憑據的問題。
(題圖:Pixabay,CC0)
作者簡介:
Aaron Kili 是 Linux 和 F.O.S.S 愛好者,即將成為 Linux SysAdmin 和網絡開發人員,目前是 TecMint 的內容創作者,他喜歡在電腦上工作,并堅信分享知識。
via: https://www.tecmint.com/mimipenguin-hack-login-passwords-of-linux-users/
作者:Aaron Kili[6] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
[1]: sudo 命令 - https://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/
[2]: 如何在 Linux 中用密碼保護一個 vim 文件 - https://linux.cn/article-8547-1.html
[3]: 如何在 Linux 中生成/加密/解密隨機密碼 - https://www.tecmint.com/generate-encrypt-decrypt-random-passwords-in-linux/
[4]: 如何在 RHEL/CentOS/Fedora 中用密碼保護 GRUB - https://www.tecmint.com/password-protect-grub-in-linux/
[5]: 在 CentOS 7 中重置/恢復忘記的 root 用戶賬號密碼 - https://linux.cn/article-8212-1.html
[6]: Aaron Kili - https://www.tecmint.com/author/aaronkili/
*請認真填寫需求信息,我們會在24小時內與您取得聯系。