TP5框架审计写法分析及代码追踪

3ad5b2ff0be8c5e5b52630b856f649f4

Snipaste_2023-07-07_06-12-24

1
2
3
4
5
知识点1:调试,访问,路由,配置,版本等

知识点2:自写写法,不安全写法,规则写法

知识点3:调试模式信息获取对应,结合入口路由配合对应,项目断点调试执行跟着

根据版本(5.0.15搜索相关漏洞,发现这里存在注入漏洞(必须要insert))

Snipaste_2023-07-07_06-49-42

Snipaste_2023-07-07_06-50-24

Snipaste_2023-07-07_06-50-54

根据github上提供的源码,在test.php中上写一个public,最后按照github上给出的payload来利用

Snipaste_2023-07-07_06-52-34

这里的数据库的名字,然后表名,以及这里的列名,如果不一样的话,那个payload也要和视频一样做更改

hsycms-不安全写法-未过滤

在审计thinkphp类型的源码的时候,首先需要将调试模式。一般这个文件是叫config.php,一般是在app的目录下

目录结构:

Snipaste_2023-07-07_07-39-17

Snipaste_2023-07-07_07-39-31

Snipaste_2023-07-07_07-39-40

这一章总结起来就是:审计的时候重要的是如何判断该源码的写法有没有用到框架,如果,没用框架,那么直接正常的审计方式,如果是那种用了框架,但是某些地方没有按照框架来写,这里我个人认为有两种同样是如果这个框架的版本有漏洞那么看是否可以利用,另外就是将这个没有按照规则写的代码进行正常的审计就行,最后一种就是完全按照框架写的,这种就只有按照版本的漏洞来进行审计,那么首先就是判断框架的版本,thinkphp就是思维导图中写的,如果你有实力的话自己审计框架也可以。

SQLmap跑:小技巧:在注入点处加*,提示sqlmap扫描此处。