sql server查看某用户最近一次使用时间_一次基于代码审计的渗透测试

sql server查看某用户最近一次使用时间_一次基于代码审计的渗透测试机缘巧合下获得了一套某某网站的源码 就顺手做了一次简单的代码审计 居然还真发现一处 SQL 注入漏洞 于是就有了后续的渗透测试 因为时间过去了比较长 以下内容是在测试环境下复现的 但是实际渗透测试时遇到的问题我会一起讲到 整体难度并不大 主要是分享渗透测试的一般流程还有一些心得 一 代码审计

大家好,我是讯享网,很高兴认识大家。

机缘巧合下获得了一套某某网站的源码,就顺手做了一次简单的代码审计,居然还真发现一处SQL注入漏洞,于是就有了后续的渗透测试。因为时间过去了比较长,以下内容是在测试环境下复现的,但是实际渗透测试时遇到的问题我会一起讲到。整体难度并不大,主要是分享渗透测试的一般流程还有一些心得。

一、代码审计

这是一套PHP的源码,而且非常庆幸的是没有使用任何框架也不是Objective,代码看起来直来直往。这里先介绍两个PHP代码审计的工具。

  1、RIPS

  这个工具本身就是PHP写的...是不是很神奇。需要搭建一个PHP运行环境(Win下推荐Phpstudy,一键安装,惬意),然后把下载完的包解压到网站根目录下即可,浏览器访问就可以直接使用,具体用法就不讲了,据说可以直接生成POC。


讯享网

  2、VCG

  下载安装即可,不过用之前记得在Settings->Options->General中,将Current language和Start up language设置为PHP。

当然这些工具只是辅助,实际使用中发现有太多误报,还是需要人工筛查。如果代码量不大,也可以直接手动搞,配合Notepad++针对目录的文件查找功能,重点审计几个关键函数和关键字,例如:eval、file_put_content、file_get_content、include 以及sql关键字,如果这些函数、查询的参数用户可控且过滤不严格,就可能导致命令执行、任意文件读取、文件写入、文件包含、sql注入等漏洞。

通过一通瞎折腾,毫无收获......而且都引入了360的360webscan.php,绕WAF 实在头疼。不过功夫不负有心人,最后在一个xxx.php的文件中发现了一处sql漏洞,这里只贴出来主要代码:

function getip(){ 
  
    
   if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR']; else $ip = "unknown"; return $ip; [PHP] 纯文本查看 复制代码 ? 1 2 3$ip=getip(); $sql= "select id from xxx_ip where ip='$ip' limit 1"; [align=left]$query= $mysqli->query($sql); 

讯享网
小讯
上一篇 2025-01-15 11:36
下一篇 2025-02-22 20:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/41501.html