php 代码审计学习记录-SQL注入-01

admin 2024年11月27日23:16:48评论7 views字数 1332阅读4分26秒阅读模式

ZZCMS201910代码审计,此次审计的目的是为了记录学习过程

下载完源码后用seay审计一下

php 代码审计学习记录-SQL注入-01

我们发现了多个sql注入漏洞,在admin/ask.php的文件看到这个可能存在漏洞的点

这里的sql语句中$_COOKIE["askbigclassid"]这个参数可控,此时就有一个想法是不是可以将我所想查询的内容通过构造特殊的sql语句插入到这个变量中,进行自己想查询的东西,这里是不是就完成了一个sql注入攻击。

php 代码审计学习记录-SQL注入-01

$sql = "select * from zzcms_askclass where parentid=" $_COOKIE["askbigclassid"] . " order by xuhao asc";

通过phpstorm我们能发现在调用add()的时候才会执行sql语句

php 代码审计学习记录-SQL注入-01

我们Ctrl+F 搜索add() 57行成功定位

利用GET的方法传入do,如果do=add那么调用 function add()

php 代码审计学习记录-SQL注入-01

所以可知url:http://xxxxxxxx/admin/ask.php?do=add

可触发sql执行语句

这里的$_COOKIE["askbigclassid"]参数可控

我们尝试对Cookie进行注入,发现触发了Waf

php 代码审计学习记录-SQL注入-01

我们在phpstorm中使用Ctrl+Shift+F 对全文进行搜索

php 代码审计学习记录-SQL注入-01

成功定位到相关文件

php 代码审计学习记录-SQL注入-01

在第18行 $_REQUEST 接受传入的参数

这里的$_GET等于调用zc_check($_GET)后的值

php 代码审计学习记录-SQL注入-01

get_magic_quotes_gpc() PHP 5.4.0 起移除,这里使用的是 php 7.4环境所以忽略

php 代码审计学习记录-SQL注入-01

addslashes(htmlspecialchars(trim($string)) 这串代码是自动转义

用来破坏语义防止Sql注入,Xss

foreach把传入的数组定义后,并调用zc_check()后返回到原来的$_GET中去

trim()

去掉传入的空格

htmlspecialchars()

把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:

防止xss

addslashes()

在传入的每个双引号(")单引号(')双引号(")反斜杠()NULL

前添加反斜杠:

php 代码审计学习记录-SQL注入-01

利用extract定义到全局变量中去

php 代码审计学习记录-SQL注入-01

54行代码 检测传入的URI

php 代码审计学习记录-SQL注入-01

我们搜索checksqlin=="Yes"

得知,否要启动sql过滤功能的开关 默认为Yes

php 代码审计学习记录-SQL注入-01

strpos()判断输入的URI中是否有这个文件

如果我们输入的URI中包含siteconfig.php,那么srtpos(xxxx)==1

srtpos(xxxx)==0,则调用stopsqlin() 用来过滤参数中的select or union 等函数

所以结合第一个利用cookie注入的方法

得出 url=http://xxxxxxxx/admin/ask.php?do=add&ss=siteconfig.php

使得绕过sql注入检测函数

php 代码审计学习记录-SQL注入-01
php 代码审计学习记录-SQL注入-01

用burp发送数据包,成功绕过了waf

php 代码审计学习记录-SQL注入-01

下一步我们指定对cookie进行注入

payload:Python sqlmap.py -r 1.txt --is-dba --batch --dbms Mysql --level 3 -v 6 -p Cookie

php 代码审计学习记录-SQL注入-01

sql注入成功

php 代码审计学习记录-SQL注入-01

知识星球:

php 代码审计学习记录-SQL注入-01

原文始发于微信公众号(凯撒安全实验室):php 代码审计学习记录-SQL注入-01

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月27日23:16:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   php 代码审计学习记录-SQL注入-01https://cn-sec.com/archives/1786287.html

发表评论

匿名网友 填写信息