图14
xxxxbin.php?id=249 and 1=2 union select 1,2,3,4,5,6,7,8,9 提示下载文件,文件名为4,说明控制下载文件名的字段是4

图15
下载文件并打开,文件内容为3,说明控制下载文件内容的字段是3

图16
从上述目标注入点的表现已经可以猜到--此程序采用的存储方式是把文件直接导入数据库,鉴于其提供下载的文件类型为二进制,可以猜到控制下载文件内容的字段3是BLOB或LONGBLOB数据类型。
之后就是看看权限和MYSQL版本号
xxxxbin.php?id=249 and 1=2 union select 1,2,version(),user(),5,6,7,8,9

图17

图18
没有过滤单引号

图19
现在准备从注入点导出可执行二进制至启动项,这里仍以 regedt32.exe 为例。
把得到的 regedt32.exe的HEX编码文件中的字符按注入点字段数分段,这里是9个字段,所以分为9段。从上面注入点的表现可知--控制下载文件内容的字段3是BLOB或LONGBLOB数据类型,所以我们把最长的一段放在第三段。
抓包

图20
构造URL

图21
发送

图22
登陆上去,看到文件已经保存在C盘了。

图23