注入技术--万能密码注入

【实验目的】

1)理解【万能密码】的原理

2)学习【万能密码】的使用

【实验原理】

用户进行用户名和密码验证时,网站需要查询数据库。查询数据库就是执行SQL语句。针对此BBS论坛,当用户登录时,后台执行的数据库查询操作(SQL语句)是[Select user_id,user_type,email From usersWhere user_id=‘用户名‘ And password=‘密码‘]。由于网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名[admin]和万能密码[2‘or‘1]时,执行的SQL语句为[Select user_id,user_type,email From usersWhere user_id=‘admin‘ And password=‘2‘or‘1‘]。同时,由于SQL语句中逻辑运算符具有优先级,[=]优先于[and],[and]优先于[or],且适用传递性。因此,此SQL语句在后台解析时,分成两句[Select user_id,user_type,email From usersWhere user_id=‘admin‘ And password=‘2‘]和[‘1‘],两句bool值进行逻辑or运算,恒为TRUE。SQL语句的查询结果为TRUE,就意味着认证成功,也可以登录到系统中。

【实验步骤】

一、利用万能密码注入

1.1选择一个存在漏洞的论坛

1.2输入用户名【admin】,密码【2‘or‘1】,即可进入论坛

时间: 2024-08-07 08:37:59

注入技术--万能密码注入的相关文章

SQL注入原理——万能密码注入

[万能密码]的原理 用户进行用户名和密码验证时,网站需要查询数据库.查询数据库就是执行SQL语句.针对此BBS论坛,当用户登录时,后台执行的数据库查询操作(SQL语句)是[Selectuser id,user type,email From users Where user id='用户名' And password='密码'] 由于网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名[admin]和万能密码[2'or'1]时,执行的SQL语句为[Select user id,use

[转载]Dll注入技术之ComRes注入

转自:黑客反病毒 DLL注入技术之ComRes注入     ComRes注入的原理是利用Windows 系统中C:\WINDOWS\system32目录下的ComRes.dll这个文件,当待注入EXE如果使用CoCreateInstance()这个API时,COM服务器会加载ComRes.dll到EXE中,我们利用这个加载过程,移花接木的把ComRes.dll替换掉,并在伪造的ComRes.dll,然后利用LoadLibrary()将事先准备好的DLL加载到目标的EXE中. 1.编写测试文件  

注入技术--数字型注入

[实验目的] 1)理解SQL注入的原理 2)学习SQL注入的过程 [实验原理] 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,

[转载]Dll注入技术之APC注入

转自:黑客反病毒 APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下:     1)当EXE里某个线程执行到SleepEx()或者WaitForSingleObjectEx()时,系统就会产生一个软中断.     2)当线程再次被唤醒时,此线程会首先执行APC队列中的被注册的函数.     3)利用QueueUserAPC()这个API可以在软中断时向线程的APC队列插入一个函数指针,如果我们插入的是L

[转载]Dll注入技术之注册表注入

转自:黑客反病毒论坛 DLL注入技术之REG注入    DLL注入技术指的是将一个DLL文件强行加载到EXE文件中,并成为EXE文件中的一部分,这样做的目的在于方便我们通过这个DLL读写EXE文件内存数据,(例如 HOOK EXE文件中的API),或以被注入EXE的身份去执行一些操作等等.     REG注入原理是利用在Windows 系统中,当REG以下键值中存在有DLL文件路径时,会跟随EXE文件的启动加载这个DLL文件路径中的DLL文件.当如果遇到有多个DLL文件时,需要用逗号或者空格隔开

防止sql注入方法 如何防止java中将MySQL的数据库验证密码加上 ' or '1'= '1 就可以出现万能密码 的PreparedStatement

package com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class LoginJDBC$PreparedStatement { public static void main(String[] args

从c#角度看万能密码SQL注入漏洞

以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞,大家相信很熟悉了. 不懂得简单了解下,懂的大牛直接飘过即可. ***************************************************************************** 当我们用御剑之类的扫描器扫描到某些有这个万能密码SQL注入的漏洞网站后台后, 打开

PHP的SQL注入技术实现以及预防措施

SQL 攻击(SQL injection,台湾称作SQL资料隐码攻击),简称注入攻击,是发生于应用程序之数据库层的安全漏洞.简而言之,是在输入的字符串之中注入SQL指 令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏. 有部份人认为SQL注入攻击是只针对Microsoft SQL Server而来,但只要是支持批处理SQL指令的数据库服务器,都有可能受到此种手法的攻击. 1.原因 在应用程序中若有下列状况,则可能应用程序正暴

一项被忽视的注入技术

在现如今注入技术一直被视为安全技术人员的必学技术,无论是注入还是盲注还是宽字节注入等各种注入技术都是如今非常流行的.但是在这么多的注入手法当中,有一种注入是被忽视的甚至有很多人不知道这种注入技术.那就是--超长字符串截断注入.    注入的产生是由于过滤不严导致的,而利用则是由用户提交特殊的字符来进行利用的.而长字符串截断注入则是利用数据库的错误产生的也就是说我们在整个过程中可以不输入任何敏感字符,所以在正常情况下来讲过滤敏感字符是无法避免这种注入的. 现在就由我来还原这种漏洞的产生. 首先我们