主页 > 网络知识 > 基于ThinkPHP的CMS审计思路(4)

基于ThinkPHP的CMS审计思路(4)

 

1589179943_5eb8f6271a959.png!small

 

这里找的也是不符合可能存在漏洞的条件

全局搜素->order(

 

1589180090_5eb8f6ba0bbf0.png!small

 

同上,没看到order()内有可控参数的

0x03 自动审计

 

1589096030_5eb7ae5ee846b.png!small

 

通过自动审计扫出了800多条结果,但是并不需要全都看,比如了解了tp3.2.3后,它的核心文件的就不需要看了,还有刚刚分析过了sql注入,那么这里面的sql注入也不需要看了。像fread(),fgets()这种需要输出才能看到文件内容的,如果没有看到输出的语句也可以放弃了,而像readfile(),unlink()这种可以直接得到执行结果的,就要重点关注一下。

0x04 后台任意文件读取

翻着翻着找到了这里,进去看看变量是否可控

 

1589181814_5eb8fd7603330.png!small

 

 

1589182067_5eb8fe730e250.png!small

 

 

1589182080_5eb8fe80b2fa2.png!small

1589182132_5eb8feb4c1619.png!small

 

0x05 后台文件写入getshell

翻到这里,点进去看看

 

1589182738_5eb90112a7f9f.png!small

1589183792_5eb9053064a83.png!small

 

 

1589183122_5eb902922977b.png!small

 

那么如果能在route表中的full_url字段中插入一句话木马,就可以将其写入到route.php里面了

上面的1212-1217行需要注意一下

 

1589186601_5eb910292c8e6.png!small

parse_url($full_url)将里面的值解析,并将相应的值组合成数组,例子如下

 

 

1589186813_5eb910fd7aefd.png!small

 

 

1589186874_5eb9113aa1e21.png!small

 

如果$a直接填a/b/c/d,那么array[path]=a/b/c/d

 

1589186972_5eb9119c93a21.png!small

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!