问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记一次有源码的渗透测试
渗透测试
记一次有源码的渗透测试
记一次有源码的渗透测试 =========== 首先是得来的一个源码,查看下文件目录,按照命名大致标记下文件夹在整个php程序中起到了什么作用 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-33176842b66d6dde52ea0baa4fb2e875fc2b7e44.png) 然后把整个代码丢到seay系统中寻找薄弱点 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-b9b79732db1d69641b841e67ab515f045bd41557.png) 发现全是sql注入,芜湖起飞!!! 进去一看..... ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-3dc095856029a0ab2f0a139c5db49c28c9a8ef92.png) 参数在拼接至sql语句之前就已经经过了intval, addslashe函数的过滤。如果不存在宽字节注入那么基本上是不存在sql注入漏洞了的 现在看看sql数据库配置文件看看编码是否为gbk。 在文件夹下搜索.sql后缀名的文件,发现install.sql文件 应该就是数据库安装文件了。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-65c33dd63887865da7e941187757b4e8090cc04d.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-bf3b7cc950148e27042cb5706e1215beb8910490.png) utf8的编码方式,看来是不存在sql注入了的,接着看看其他漏洞。 发现了install/index.php文件下有任意文件写入漏洞。看看代码 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-55d826f444ab45467b2244bb09e89a69b7776b55.png) ```php file_put_contents('../config.php',$config) // config.php是固定的了 但是$config内容是可控的,我们可以通过添加单引号的方式闭合字符串,然后写入任意的php代码 ``` ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-9bfb3689c2fd069bb24adec2c1cbc2cf6a1b34d6.png) post接受参数且无任何转义函数,那么就基本确定漏洞存在了, 然后if条件必须是 链接数据库时不能有任何异常抛出,否则就不会执行elseif了 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-2481115c623fb406740e2ec830edb8527a07c9a7.png) 那么就是说可以任意修改的参数就只有 db\_qz了 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-125f2156bc2bd6b0fcbd78332afb303b21131350.png) burp抓包 因为from表单没有给db\_qz参数需要自己添加 db\_qz = '); phpinfo(); /\* ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-f853d34ff0c9cf18e0483a63d1ed781d34832dbe.png) 查看config.php ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-d2f8a9c4540b950653e9c43452538dd24060837b.png) 然后还需要找一个任意文件删除就可以组合起来,任意删除删除lock文件配合getshell。 但是我找了很久也没发现任意文件删除漏洞。 于是我翻翻是否还有其它漏洞。 在\\template\\argon\\buy.php下发现了一个没有经过任何过滤的sql注入 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-b5c43dd8ababf2cc9938c46e66e0e72f3a134a12.png) 经过一番回溯,发现argon其实是一个网站模板文件,需要更换模板才能够访问这个文件。 更换模板后,我尝试了注入(因为这个是一个被包含的文件,需要在index.php包含使用) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-0cb925cd00e9ef54fb0c7ede6084ed4ae5139051.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-8f17c931474545609a0c45798c98589435317a64.png) 更换后注入 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-2b18185bf108384554f79753234ab8fcfc41a84e.png) 使用sqlmap测试 sqlmap -u [http://xxxxxx/?mod=buy&cid=1](http://xxxxxx/?mod=buy&cid=1) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-0e630c9085c4e34290db6e1c77f51ce2540876ec.png) 但是这时想到了问题,因为跟换模板需要网站管理员的账号密码,而一般我们是没有账号密码的。 然后发现源码中有开通分站的功能,那么分站是否可以跟换模板而达到注入的功能呢? 于是去fofa搜索一波特征查找相同的网站 找了一个0元开通分站的网站(因为没挖到支付逻辑漏洞....) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-99ea82e2608da5ec91282bc8b15aa7a78f3079cb.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-f2abf95487c89d8cc97f8c5c46ef7f7ffb4b9bb2.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-7ec43d28fbfb1a5eb2bc47e6c72f052545afd2f2.png) 发现分站也是可以更换模板的。 然后测试到目标站点,花了五块钱巨款!开通了分站,对着目标站点一顿注入。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-a0ab09acb4a6f873143b74c60b73c3b116ee5710.png) 没办法了那就,绕吧。 1. select 不拦截 2. union select 拦截 防火墙是根据输入的关键字进行判断是否存在恶意攻击。 ```php http://www.xxx.com/index.php?id=1 //假设这个是我们网站的url id就是我们提交的参数,用于做数据查询 我们构造攻击payload ?id=1 and 1 // 安全狗检测到and 1会拦截这个请求 那么我们使用/**/来构造payload ?id=1 /*AAAA*/ and /*BBBB*/ 1 狗眼中的参数: 1 AAAA and BBBB 1 MySql眼中的参数: 1 and 1 但是这种方法很久之前已经失效了,安全狗会无视掉/**/里面的东西 那么我们得知了一个条件: 安全狗会无视掉/**/里面的东西 这样我们是否可以使用/**/的方式来绕过安全狗进行XSS(原理就是安全狗认为我们在进行SQL注入攻击,但是为了防止绕过安全狗会忽略掉/**/里面的东西) ``` 测试: ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-d0427ed6605f031cac8ab87bcea8e46bd92dde5f.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-ebccbdccec4d444be8cf4147e810a7f78dfe6710.png) 那么我们使得sql语句在/ /之间就好了。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-8691d440519c60faeba511e38026bc8625a6b4ca.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-6bff7c81b3e0d46307cd4a5480a4628bae292b00.png) 最后结果,成功登录后台获取若干数据: ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/04/attach-4cdc82cb8bac5491dc301c6cab63f4c3c11268c6.png)
发表于 2024-04-28 10:00:00
阅读 ( 5826 )
分类:
渗透测试
0 推荐
收藏
1 条评论
我是小学生
2024-10-29 03:48
大哥 我现在遇到的东西和你一样 能帮帮我吗
请先
登录
后评论
请先
登录
后评论
Whoisa
4 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!