点我
SQL注入【二次注入】
SQL注入【二次注入】
原理
二次注入是指已存储(数据库、文件)的数据输入被读取后再次进入到 SQL 查询语句中导致的注入
二次注入是通过与数据库服务器进行交互的过程再次进行注入。
利用条件
- 用户输入恶意语句。
- 数据库把用户输入的数据没有做任何更改,直接进行了存储。
- 再用户取出数据的过程中,数据库将用户输入的数据完整且没有做任何修饰的展示给用户。
靶场Less-24
1、一个登录界面,可进行更改密码、注册用户
2、查看数据库中原有的数据
3、目的:改掉admin用户的密码
4、注册用户
注册用户名为admin' -- q
密码为123456
5、注册成功
6、查看数据库有无增加用户
7、使用用户名admin' -- q 登录
8、观察admin用户的密码为admin
9、更改admin' -- q用户的密码为654321
10、再次查看数据库
观察到新注册的用户admin' -- q 密码没改变,admin用户的密码却更改为654321
11、使用admin用户登录
登录成功
能够更改admin密码原理
1、更改密码处的后端代码
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' "
2、当我们使用admin' -- q用户名 更改密码时 代码变为
$sql = "UPDATE users SET PASSWORD='$pass' where username='admin' -- q' and password='$curr_pass' "
username='admin' -- q'==>此处admin'构成闭合,用户名变为amdin用户,-- q则注释了后面的单引号
故可以使用 用户名admin' -- q 密码123456 登录,然后更改用户名admin的密码
分类:
WEB安全
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论