Re: [心得] 我做的訂書系統(獻醜)

看板PHP作者 (丁丁)時間16年前 (2009/05/16 01:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
謝謝ErangonJ大幫了小弟這樣一個大忙 真是個大bug 在操作重大事件時,的確應該用$_POST而不用$_GET的 這個bug我已經把它改成用$_POST傳值了 另外也修了好幾個小bug 這是目前的成果:(學號可以當帳號使用,英數都接受) http://bbs.me.nctu.edu.tw/~nctume/ 原始檔: http://cid-37b3a3c879a94671.skydrive.live.com/self.aspx/.Public/0515.rar 縮址:http://tinyurl.com/pd4mxg ※ 引述《EragonJ (龍~翱翔天際)》之銘言: : del function有漏洞 : 以下是func.php的原始碼: : function del($the_sn="",$i_of_the_book=""){ : $filename="book{$i_of_the_book}.csv"; : $fp=fopen("data/bookBeingOrdered/{$filename}","r") or ... : 你一定會說 大家又不會看到這個code 是有什麼好害怕的! : 恩 這樣說沒錯 但是我發現這個漏洞 是在看你source之前的 : 請看一下刪除訂單的頁面 index.php?op=deleteItem_form : 這段javascript是你的死穴 他無意當中透露了del function的使用方法 : function delete_data(sn, i){ : var sure = window.confirm('確定要刪除此資料?'); : if (!sure) return; : location.href="/~nctume/index.php?op=del&sn="+sn+"&book="+i; : } : 現在知道他會抓$GET['sn']和$GET['book']進去 那就可以下一步了 : 還記得上面的function del的$filename嗎? : $filename = "book{$i_of_the_book}.csv"; : 我就是故意不給$GET['book']這個值 就暴錯了 : Warning: fopen(data/bookBeingOrdered/book.csv) [function.fopen]: failed to : open stream: No such file or directory in /home/nctume/WWW/func.php on line : 522 : 無法開啟 book.csv : 到這步 就什麼都知道了 真是可怕 : 自己寫function是好事 但是要濾的還是要濾一下lol~~ : 好像有些地方還是有點小問題 就交給其他大大補齊吧! : 請指教 thx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.91.19 ※ 編輯: bil193 來自: 140.113.91.19 (05/16 01:31)
文章代碼(AID): #1A3QOuQo (PHP)
文章代碼(AID): #1A3QOuQo (PHP)