当前位置:首页 » 编程语言 » php万能密码

php万能密码

发布时间: 2022-05-17 00:49:43

php 后台万能密码

所谓万能密码是针对一种漏洞而言,如果人家把这个漏洞堵上就没用了,现在有点经验的程序员就不会犯这种错,PHPwind做为一个成熟的论坛程序是不会出现万能密码漏洞的

② php中\n是如何使用的

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:index.php。

③ 万能密码 'or'='or'如何防

一般用户在登陆时,系统会要求输入用户名及密码,然后将这些数据传输到指定页,进行验证,大致的代码如下:

Set Conn= Server.CreateObject("ADODB.Connection") '定义连接数据库的对象
Const AccessFile="jmdcw.mdb" '数据库地址
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessFile) '连接到数据库
Conn.Open '打开数据库
....................
name=request("name") '得到所提交的用户名
pass=request("pass") '得到所提交来的密码
............
Set Jmdcw=Server.CreateObject("ADODB.RecordSet") '定义操作数据库的对象
sql="SELECT username,userpass FROM User WHERE username='"&name&"' AND userpass='"&pass&"'" 'SQL语句
Jmdcw.Open SQL,Conn,1,1 '执行查询
......
If Jmdcw.EOF AND Jmdcw.BOF Then '如果没有查询到
response.redirect "onerror.html" '显示错误页
end if
'如果正确,就继续执行。
..........

以上就是一段简单的用户验证代码,当注入漏洞被广泛发掘之后,类似这样的漏洞就越来越少了,但少并不表示程序员在写代码时已经具备了防范意识,无意之中还是会出现这样或那样的漏洞。OK,书归正传,先来测试一下上面的代码。输入的用户名是:jmdcw,密码是:123456。(典型的弱口令密码,哈哈),这样SQL语句就是:

select username,userpass from user where username='jmdcw' and userpass='123456'

程序会查询user表中是否有jmdcw用户,并且该用户的密码是否为123456。如果username='jmdcw'的结果为真,userpass='123456'的结果也为真,那么“真 And 真 ”的结果就是真,验证通过。

当然,如果用户名和密码其中之一的结果为假,“真 And 假 ”的结果就是假,当然“ 假 And 假 ”的结果也是假,呵呵。

没有用户名或密码怎么进入?试一下'or''='吧,在提交用户名处输入 jmdcw'or''=',这样的SQL语句就是

select username,userpass from user where username='jmdcw'or''='' and userpass='12345678'

在逻辑表达式中,AND的优先级要高于OR,所以语句会先对 “''='' and userpass='12345678'” 进行判断,虽然 ''='' 为真,但密码为假,所以结果为假,但因为我们加入了OR连接符,这样,虽然后面的结果为假,但username的结果为真,所以也一样能进入这个用户的后台。

但如果不知道用户的名称,那么就要在输入的密码后也加入一个'or''=',这样,SQL语句就是

select username,userpass from user where username='jmdcw11'or''='' and userpass='12345678'or''=''

在执行and语句,''='' and userpass='12345678'的结果为假,然后是 'jmdcw11'or假 ,结果为假,再接下来是:假or ''='',这个结果就是真了。

但现在的密码都用MD5加密,对提交来的密码在进入SQL语句之前,先用MD5进行了转换,这样,就算在密码后加入了'or''=',也发挥不了作用。对于密码采用md5加密的,不妨在用户名处再加入一个or''='',也 就是在用户名处输入:jmdcw'or''=''or''=',这样的SQL 语句就是:

select username,userpass from user where username='jmdcw11'or''=''or''='' and userpass='12345678'

先执行and语句,结果为假,然后是username='jmdcw11'or''='',结果为真,接下来是:真or假,结果还是真,这样又绕过了验证。

说到这儿,我忽然想起,在文章开头所提到的网站,其密码也是用md5加密的,并且我也不知道任何一个用户名,也只用了一个or语句,为什么却进入了呢?思来思去,莫不是SQL语句中的用户与密码的位置有所不同,其的SQL语句是这样的:

select username,userpass from user where WHERE userpass='"&pass&"'" and username='"&name&"',

密码在前面,用户在后面,这样,当我在用户名处输入:jm'or''='后,其语句就变成了

select username,userpass from user where WHERE userpass='123456" and username='jm'or''=''

按照优先级,先运算ANd语句,结果为假,然后是OR语句,假or''='',结果就是真了。看来代码中的位置发生变化也能演绎成一种漏洞。

上面所提到的方法主要是针对于ACCESS数据库,但如果程序所对应的数据库是SQL,那危害就大很了,先不要说别的,还是说一下登陆的事情,直接用:

存在的用户名';--

这个可以不用密码就登陆到指定的用户之中,如果不知道呢:就用:

任意名称'or''='';--

这样所进入的会是第一个用户,很有可能是管理员的用户之中.

如何防止这种漏洞呢?很简单,就是在接收字符的语句中加入replace过滤语句,比如name就是:

name=replace(request("name"),"'","")

将'过滤为空。密码过滤的方法也类似。当然,这是简单的过滤方法,还有更多复杂的。比如过滤一些特殊字符,空格、chr(0)、%、script等一些字符,防止写入XSS代码。

④ 手机解锁有没有万能密码,就是一个密码可以解开锁,我的手机被锁了,想开开锁了。

貌似么没有这种东东,你去维修店解一下吧,可能要30元.

⑤ php 如何防止 万能密码登录(mysql注入)

你可以使用内置的addslashes函数,或者使用我下面自己封装的函数,把$_GET 或者 $_POST的值做处理。

functionaddslashes2($str){
return(!get_magic_quotes_gpc())?addslashes($str):$str;
}

⑥ asp,aspx,php,jsp万能密码大全

如果程序员过滤不严谨,使用万能密码
就可以不适用用户名密码就可以登录了,具体操作,就是在用户名密码里面输入
,有验证码的,输入他的验证码,然后登录,就可以进去了。
对于研究网站后台安全防御“程序猿”来说,这个代码是最熟悉不过的。
下面图片中就是万能密码
万能密码之
ASP|ASPX
万能密码之
JSP|PHP

⑦ 写出SQL注入的方法和联合查询数据库所用到的SQL语句

注入方法:

a)寻找注入点,构造特殊的语句

传入SQL语句可控参数分为两类
1. 数字类型,参数不用被引号括起来,如?id=1
2. 其他类型,参数要被引号扩起来,如?name="phone"

b)用户构造SQL语句(如:'or 1=1#;admin'#(这个注入又称PHP的万能密码,是已知用户名的情况下,可绕过输入密码)以后再做解释)

c)将SQL语句发送给DBMS数据库

d)DBMS收到返回的结果,并将该请求解释成机器代码指令,执行必要得到操作

e)DBMS接受返回结果,处理后,返回给用户

因为用户构造了特殊的SQL语句,必定返回特殊的结果(只要你的SQL语句够灵活)


字数限制,剩下的你自己去教学网站看一下吧。

⑧ 1' union select * from [ADM] union select * from [ADM] where '1'='1

union就是联合的意思。把两标拼接起来。

当两表的结构或者所选择的字段相同时候才可以使用Union方法。否则会出错。
-----------------
那也要人家用了字符串拼接的SQL语句你这台才能用。用PROC注入不了的。
#######
打个比方
原始的SQL是
SELECT * FROM [ADM] WHERE USERID='ADMIN' AND PASSWORD = 'PASS'

你现在在ADMIN或者PASS的地方插入你的那个语句 也就变成了
SELECT * FROM [ADM] WHERE USERID='ADMIN' AND PASSWORD = '1' union select * from [ADM] union select * from [ADM] where '1'='1'

前面那个SELECT * FROM [ADM] WHERE USERID='ADMIN' AND PASSWORD = '1' 肯定什么数据都不会出来的。
但是下面还有一句UNION
select * from [ADM] union select * from [ADM] where '1'='1'

而最后的1=1这个条件就是真,所以会把[ADM] 所有的数据都给抽出来。

⑨ BIOS万能密码

AWARD BIOS的万能密码如下:AWARD、AWARD_SW、Syxz、589589、589721、j322、j262、 j256、
SER、SKY_FOX、BIOSTAR、ALFAROME、lkwpeter、LKWPETER、aLLy、HLT、awkward、award、
h996、 wantgirl、eBBB、dirrid、awkard、abaubjao。
AMI BIOS的万能密码如下:AMI、BIOS、PASSWORD、HEWITT RAAND、AMI?、SW、AMI_SW、
LKWPEEEETER、A.M.I、Sysg。
注1:注意大小写。
注2:同一厂家的BIOS在不同时期的万能密码并不相同,所以此法不能保证绝对奏效。

⑩ phpweb 除了万能密码登录,还可以用什么方式登录

一般都存在于数据库表的user字段,请查看。一般都是由md5加密,请尝试解密或者重新生成一个md5的字符替换。望采纳

热点内容
存折每天可以输错多少次密码 发布:2025-05-14 23:22:06 浏览:907
安卓手机怎么找微信隐藏对话 发布:2025-05-14 23:07:47 浏览:336
怎么查看泰拉服务器ip 发布:2025-05-14 23:03:29 浏览:72
c语言学生成绩查询系统 发布:2025-05-14 22:58:30 浏览:4
怎么进别人的服务器 发布:2025-05-14 22:45:55 浏览:772
用编程写音乐 发布:2025-05-14 22:45:08 浏览:782
如何识别电脑的网络配置 发布:2025-05-14 22:38:46 浏览:847
pipforpython3 发布:2025-05-14 22:38:34 浏览:350
如何把迷你世界的服务器搞崩 发布:2025-05-14 22:37:15 浏览:94
如何让安卓卡死机 发布:2025-05-14 22:36:27 浏览:634