本篇文章對ctf之web小白很有用,請耐心看完
<? php
echo
'hello,world'
;?>
<?php表示程式開始,?>表示程式結束
每行**必須以分號結尾。
echo是php的輸出函式
<?php$a=
3;$b=
4;$c=
$a+$b;
echo
"$a+$b=".
"$c"
;?>
變數以$符號開頭,變數名稱對大小寫敏感。
可以直接通過賦值來指定變數型別。
雙引號中的變數會被解析執行。
點好.用於連線字串。
php單引號和雙引號的區別
單引號可以巢狀雙引號,雙引號可以巢狀單引號,單引號和雙引號不能相互巢狀
<?p
$a=5
;$b=6
;$c=$a
+=$b;
echo
'$a+$b=$c'
;//輸出$a+$b=$c
echo
"$a+$b
=$c"
;//輸出5+6=11
單引號內部變數和特殊字元不會解析,雙引號內部變數和特殊字元會解析。
isset()函式
<?php$a=
100;
echo
(isset
(&a));
?>
isset()函式是判斷變數是否存在,存在返回值1,不存在返回值空
php的注釋
//這是單行注釋
#這也是單行注釋
/* 這是多行注釋 */
接收表單資料
<?php
$username
=$_get
['username'];
$password
=$_post
['password'];
echo
"使用者名稱:"
."$username
"echo
"密碼:"
."$password";
?>
$_get:接收通過get方法傳遞的資料;
$_post:接收通過post方法傳遞的資料;
$_request:接收通過get或post方法傳遞的資料
if選擇語句:
<?php
$username
=$_request
['username'];
$password
=$_request
['password'];
if($username
=="admin"
and$password
=="123"
)else
?>
==:等於號
=:給變數賦值符號
for迴圈語句
<?php
$sum=0
;for($i
=1;$i
<=10;
$i++)$i
=$i-1
;echo
"1累加到$i".
"的和是$sum";
?>
while迴圈語句
<?php
$sum=0
;$i=1
;while($i
<=10)
$i=$i-
1;echo
"1累加到$i".
"的和是$sum";
?>
php運算元據庫的一般步驟
mysql_connect
("localhost"
,"root"
,"123");
//通過php連線上mysql
mysql_select_db
("test");
//選擇要操作的資料庫
mysql_query
("set names utf8"
)//設定客戶端和連線字符集
通過php進行增刪改查
mysql_close
($conn);
//釋放連線資源
建立表並向表中新增記錄
mysql>create table hack
->(-
>
id int,
->
username
varchar(20
),->
password
varchar(30
)->);
向表中新增記錄
insert into hack values(1
,'admin'
,'123');
insert into hack values(2
,'admin1'
,'123'
);
使用者身份驗證(一點要看懂)
<?php
$username
=$_get
['username'];
//get方式得到username
$password
=$_get
['password'];
//get方式得到password
$conn
=mysql_connect
("127.0.0.1"
,"root"
,"123");
//和mysql資料庫建立連線
mysql_select_db
("test");
//開啟test資料庫
mysql_query
("set names utf8");
//設定字符集
$sql
="select * from hack where username='$username
' and password='$password'";
//將輸入的使用者名稱和密碼和資料庫中的使用者名稱密碼進行匹配
$res
=mysql_query
($sql);
//執行上面的匹配語句,如果匹配成功,返回1,匹配失敗返回0if(
mysql_num_rows
($res)!=
0)else
mysql_close
($conn);
//和mysql資料庫斷開連線
?>
ctf特訓營 CTF小白入門 PHP語言特性(二)
因php核心是c語言實現的,當php字串處理遇到null x00 時,就會當作字串結束標誌來處理。在ctf比賽中,我們可以利用這個特點處理掉變數末尾我們不需要的字元。如果一段php 如下所示,file etc passwd 00即可讀到 passwd 檔案內容。當然,隨著php版本更新,這個漏洞已經...
ctf中php繞過,CTF之PHP黑魔法總結
ctf之php黑魔法總結。一 要求變數原值不同但md5或sha1相同的情況下 1.0e開頭的全部相等 判斷 240610708 和 qnkcdzo md5值型別相似,但並不相同,在 相等操作符的運算下,結果返回了true.md5和sha1一樣 2.利用陣列繞過 判斷 md5和sha1對乙個陣列進行加...
CTF 論劍場 web之 web2
進入題目,一看就是要寫指令碼的那種題2333 python指令碼如下 import requests url res requests.get url cookies res.cookies phpsessid 獲得session test res.content.decode split 1 sp...