1.login_key暴力**
2.偽造任意會員或管理留言
3.刪除任意留言
ps:.net開源了,相信各種特性漏洞會如雨後春筍般湧現,小菜先學點asp.net基礎知識,等大牛們發特性漏洞的時候至少能夠看懂。
1.login_key 暴力**
/e/member/check_repeat.aspx
protected void page_load(object src,eventargs e)
else if(field.tolower()=="userpassword")
string repeat="0";
int counts=0;
if(isstr(field))
dr.close();
conn.close();
if(counts>0)
}response.write(repeat);
}可以看到 我們控制了pa_member表where查詢中的字段和值,因此我們可以定義欄位為login_key,然後暴力列舉值。
我們再來看下login_key的值是什麼?
string loginkey=logindate.addseconds(r.next(3600,86164)).tostring("yyyymmddhhmmss");
login_key為我們登入登入後的1個小時到一天中的任意中的任意一秒,格式如20141121221010,
這樣會有什麼樣的問題呢?就是我們login_key完全可以**,可以用上邊的那段**暴力列舉近幾天的登入會員和管理(會員管理乙個表)的login_key,而1天86400秒,所以難度不大。
下面問題來了,看官一定會問,這個login_key是幹啥的,你可以溫習下wefgod牛的 wooyun: pageadmin可繞過驗證偽造任意使用者身份登入(前台、後台) ,
從wefgod牛的文章當中我們知道pageadmin的許可權驗證用的是uid和valicate的,而valicate以前是用的最後登入時間的md5,現在改為了login_key的md5,也就是登入後未來一天的任意一秒的md5。
現在我們獲取了login_key,但是問題又來了,我們不知道他對應的uid是多少,我們可以直接選擇有許可權驗證的頁面直接加入login_key,然後列舉uid,登入進去就行了。
問題又來了,我們怎麼確定這個使用者是不是管理員,我思來想去,也只有觀察下管理員在**的活動了,比如他發表的最後一篇帖子的時間,最後一天留言的時間,去推測login_key的取值空間。
2.偽造任意會員或管理留言
/e/space/spc_fbk_ascx.cs
private void post_fbk()
else
conn.close();
response.write("");
response.end();}}
這個沒什麼說的,設計缺陷,當前登入名自定義,可以偽造任何人留言,不用登入。
3.刪除任意留言
/e/space/spc_fbk_ascx.cs
private void del_fbk()
conn.close();
response.write("");
response.end();
}這個都很明白,無許可權控制的直接進資料庫刪除任意使用者的任意留言
1.login_key暴力**
a.暴力猜測login_key
2.偽造任意會員或管理留言
3.刪除任意留言
1.過濾
2.許可權驗證
PageAdmin多處設計缺陷可getshell
管理員登陸成功,setcookie 登陸時間 3600,86164 之間隨機的秒數,進行get md5運算。public string get md5 string s return stringbuilder.tostring 將字串s md5之後和pageadmin cms md5之後的字串每2...
jbpm設計缺陷
刪除 只能直接刪除流程部署 而沒有提供刪除流程定義的api test public void testdeletedeployment 想要刪除流程定義 根據key得到所有的流程定義,然後遍歷每乙個流程定義,得到流程部署,然後依次刪除 2 根據taskid查詢任務 taskservice.getta...
js的設計缺陷
原文請搜阮一峰 一 js為什麼有缺陷 1。設計階段過於倉促 設計者只用十天時間完成js的設計,而且設計初衷只是為了完成簡單的網頁互動,並沒有考慮複雜應用的需要 2。設計借鑑太雜 設計者本身擅長函式式程式設計,但由於某些原因又需要將js往物件導向上靠。又因為只想做一種簡單的指令碼語言就放棄了 類 的想...