最终数据库中多了一条记录,如下:

文章插图
我们顺利地向job_classid中插入了我们的的payload
访问likejob_action触发payload
接下来我们访问http://localhost/member/index.php?c=likejob&id=7,其中的id就是刚刚我们插入的payload所对应记录的id 。
当运行至DB_select_all()中执行的SQL语句是:

文章插图
为了便于分析,我们将这条SQL语句放入到datagrid中分析:

文章插图
最终在页面上显示admin的信息 。

文章插图
至此整个漏洞都分析完毕了 。
四.总结一般来说,二次注入利用点一般都比较隐晦 。
所以二次注入的思路比一般的注入更加巧妙和有意思,在本例中体现得尤为明显 。
1.这个二次注入的点比较难找,二次注入中的利用table作为二次注入的利用点的例子还是比较少见的;
2.绕过方法也比较少见 。本例中的waf的防护还是比较严格的,利用了mysql的两个少见特性就可以绕过了 。
作者:天王盖地虎 转载自https://www.anquanke.com/post/id/170845
推荐阅读
- PHP生命周期及fpm的运作方式
- 开源交换机操作系统
- PHP 安全问题入门:10 个常见安全问题 + 实例讲解
- Docker 安装 Nginx、PHP、MySQL、Tomcat、Python、Redis、Apache
- PHP的isset、is_null、empty()使用总结
- PHP中钩子的理解与实例教程
- PHP生成静态页面效果
- CPU处理器|打破x86/ARM垄断!中科院RISC-V开源处理器“香山”新归属敲定
- 开源免费的多功能数据库管理软件DBeaver
- PHP安装imagick扩展踩过的坑
