本文目錄一覽:
PHP怎麼入門
你好,相對其他編程語言的學習,php還是比較容易入門的。
所以這裡我建議你可以去網上買點相關的視頻教程,進行學習。因為視頻學習來更加系統和生動。盡量不要去視頻網站去找視頻教程,因為很難找到一整套視頻。如果只是 這學學,那學學的,可能會更加迷糊了,因為現在你也只是做入門學習,我建議你也不用去參加培訓班,因為成本太大,而且時間固定,影響你的正常工作和生活安排,其實一般點培訓機構也只是一群人在教室里看視頻學習而已;)
在學習完一些基礎的語法後,建議你就可以開始學習框架了。其實你不需要糾結是不是應該把原生的PHP代碼學的多麼透徹。你再怎麼學,也不可能比那些實際做項目的人學的快的。所以你要做的,就是盡量入門,然後在實踐中提升自己。剛剛說到框架的學習,我建議你可以去看看一些招聘網站上,你所在的城市,或者你想去發展的城市所要求的PHP工程師所需要的框架是什麼。然後再去針對的去學習。我是先學習CI框架的,因為這個框架比較適合新人學習,用的人 也蠻多的。
零基礎學習PHP如何入門?
其實學習PHP只要把握好學習路線,能夠在極短的時間裡完成從新手到熟練的過程。在這裡,小編為大家整理出了學習PHP的路線和具體的課程。
入門:新人必看的PHP基礎知識視頻教程
可掌握PHP基礎知識,了解PHP的基本語法、數組、函數、表單驗證、圖像處理,以及MySQL數據庫等PHP開發過程中所遇到的知識點和基本操作。
進階:PHP如何操作MySQL數據庫視頻教程
利用PHP操作MySQL數據庫教程,MySQL是PHP最合適的搭配,MYSQL開源、跨平台,PHP擴展包對MySQL的支持比較完善。本課程講解MySQL數據庫的基礎知識,以及如何利用PHP來操作MySQL數據庫,實現對數據的調用和修改。
實戰:PHP項目實戰_多用戶留言系統視頻教程
利用PHP基礎課程中的知識,在本課程中創建多用戶留言系統,包括用戶界面設計,註冊,驗證,帖子的寫入、修改等留言系統的必備功能。
進階:PHP進階之面向對象相關視頻教程
學習和了解開發獨立的模板引擎技術,學習三層架構及分層思想和原理,然後通過後面的CMS內容管理系統等課程的實踐來掌握以上知識點。
進階:PHP進階之CMS內容管理系統
CMS內容管理系統具有許多基於模板的優秀設計,可以加快網站開發速度和開發成本,同時易於使用,可開發性強,可分布式管理,CMS的功能並不只限於文本處理,它也可以處理圖片、Flash動畫、聲像流、圖像、甚至電子郵件檔案等。
ThinkPHP框架講解視頻教程
ThinkPHP是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性,並且擁有眾多原創功能和特性。理解ThinkPHP的框架基礎知識,安裝配置,模型的建立、開發及調試。學習ThinkPHP3.2.1的使用方法。
作為一個新手,學習PHP語言需要有學習一門新語言的心態,注意不驕不躁,步步為營,按照方法和步驟去學習,由淺入深的接觸。
求高手回答 PHP網站怎麼侵入??怎麼找後台??
第一講:判斷有沒注射點
這個很簡單,我們最常用的就是看到頁面的格式為:index.php?id=2這樣的地址,我們知道PHP經常是和MYSQL數據庫一起用的,在MYSQL數據庫中一定存在一個表,比如setting_table,我們提交上面地址的時候,程序一般上這樣處理的:
1、用GET或者POST取我們提交的id=1把這個值傳給一個變量id.
2、查詢:select * from setting_table where id =$id
上面的語句就是查詢的語句,我們代入$id=1就是:
select * from setting_table where id=1
這話是沒什麼問題的,會取出id為1的信息進行顯示給我們,所以我們就能看到正常的頁面。 --------------
看我們是怎麼判斷的:
1、我們提交id=1 and 1=1
看看這個是什麼效果,這裡的$id就是1 and 1=1,我們看看是什麼樣子的:
select * from setting_table where id =1 and 1=1
這個語句加了一個and 語句,後面是1=1是肯定成立的,所以就不影響上面語句的成立,它還會取出id=1的信息進行顯示給我們,所以我們看到的還是原來的正常頁面。
2、我們提交 id =1 and 1=2
看看這個是什麼效果,這裡的$id就是 1 and 1=2,我們看看在SQL中怎麼執行
select * from setting_table where id =1 and 1=2
分析下這個語句,前面還是一樣的,只是最後加了個and 1=2,這個自然不成立啦!又因為是and連接的,so自然找不到符合條件的啦!只能回顯給我們一個錯誤或者空白的頁面拉~!!
上面就是一般我們採用and 1=1 and 1=2來判斷的基本原來,但是這裡還要注意幾點,如下:
1、程序處理的時候必須是where id =$id 而不是where id=$id,這個單引號是很不一樣的,怎麼不一樣,以後再說。。
2、程序對我們提交的參數沒有處理或者處理的不好,導致我們可以直接提交,如果程序多我們提交的參數進行處理,又會不一樣,也是後話!
第二講:快速判斷MYSQL版本
前提:你得到一個注射點,比如:news.php?id=1
這個點是你找到的,提交and 1=1 和and 1=2返回的是不同的。
我們就可以這樣來猜MYSQL的版本了。。步驟如下:
1、提交/news.php?id=1/*!40000%20s*/ 如果返回正常就說明MYSQL版本在4000版本以下,你可以依次調節最高位的數字,比如我改為39000提交,如果再正常,就提交38000….直到返回錯誤提示,最後固定的那個就是MYSQL的版本了。。
下面是我提交測試時的過程(只寫MYSQL版本)
40000(+)--39000(+)--38000(+)--370000(-)--37900(+)--37800(+)--37700(-)--結束!!
得到MYSQL版本是37700。
2、一般我們不去猜具體的版本,我們只關係MYSQL是不是在4.0以上,以為只有4.0以上的MYSQL才支持UNION查詢,以下是不支持的,所以我們經常只用/*!40000%20s*/ 看看是不是4.0以上的版本。
PS:/*!40000%20s*/ 這裡的/*!……*/是mysql里一種特殊的注釋方式,也沒什麼好奇怪的,記得怎麼用就可以了~~
第三講:PHP注射怎樣得到表名。。
正準備寫,看到有人問到了,就總結下,算第三講吧! Quote:
Originally posted by spirit at 2006-5-16 05:57 PM:
看了好多 文章了 ….眼睛都花了
裡面涉及到的東西也比較全面
不過 一直不知道怎麼搞出 表
總不能直接搞 去 字段吧..??
一個一個來啊
數據庫 表 字段 值…
這個邏輯我認為是對的 ….
對了這裡還是 感 …
表確實不好搞,不像ASP可能直接暴出來,PHP到現在還是暴不出來的,我們一般有兩個辦法:
1、靠經驗猜:比如大家常用的admin,user,news,vote,wenzhang,guanliyuan等等,沒辦法的事。。
2、暴代碼查看:用Load_file暴出文件代碼,就可以看到數據插值到什麼表,什麼字段了,這樣就很明白了,但是load_file也很有技巧的。。以後再講。。
——————————————–
具體說一下吧:
1、這個沒什麼好說的,直接猜就可以了,比如你看到一個注射點,類似news.php?id=1這樣的點,你用union查詢得到具體的字段,比如這樣:news.php?id=1 and 1=2 union select 1,2,3,4 是成立的,
你就可以這樣猜:news.php?id=1 and 1=2 union select 1,2,3,4 from admin/*如果存在admin表,就會返回真,否則就不存在表admin,其他和這個一樣的。
2、這個就有點終極了,比如你得到他的絕對路徑,可以load_file(file path)出文件的代碼,比如你暴得管理員登陸的頁面,就能看到他其中的SQL語句,可以看到他是從哪個表了取的值了,是吧》》
原理就是這樣的,多多思考,有什麼心得,希望能分享。。。。
第四講:有無引號的差別
很多朋友都對那個引號的作用不很了解,認為加引號和不加是一樣的效果..
引號(包括單、雙)對我們的注射是有着很大的影響的,這裡主要還是和magic的狀態有關,當這個magic為off的時候倒沒什麼影響,當這個magic為on的時候就大不一樣了。。
小知識:magic為on時,為自動為我們提交的單引號(‘),雙引號(“),(\),空格( )等加上轉意 符號\,使得上的都變成(\’),(\”),(\\)等,這就給我們注射太來麻煩,例子如下。
一、第一個例子(沒引號)
如果語句如下:
QUOTE:
select * from news where newsid=$id
1、magic為off時情況
為off時不會處理我們提交的數據信息,假設一個SQL語句是這樣的;
我們在URL中可以提交$id的值,就像我們前面說的給$id為:
$id=1 union select 1,2,3,4 from admin
就基本上可以取得我們想要的數據了。
2、magic為on時情況
這時沒什麼區別,因為我們沒有提交敏感的字符
二、第二個例子看它處理的SQL語句:
QUOTE:
select * from news where newsid=$id
這時要想成功利用$id這個沒過濾的參數,我們可以提交如下:
$id=1’ union select 1,2,3,4 from admin/*
開始要有一個()來閉合前面的,後面再加一個/*注釋掉後面的
1、magic為off時情況
如果magic為off,我們可以直接提交,成功利用
2、magic為on時情況
如果magic為on,那麼我們提交的語句變成:
$id=1\’ union select 1,2,3,4 from admin/*
看,就沒辦法利用了(儘管有漏洞)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/253779.html