Hpdoger's Blog.

代码审计知识星球

Word count: 309 / Reading time: 1 min
2018/12/02 Share

代码审计知识星球

吹一波P牛的项目!最近考试和比赛时间有点冲突..陆陆续续准备写一下p师傅的题,做个持续连载吧

Nodejs魔法

Koa框架写的登陆页面,入库的语句都写出来了

看到这一步很关键,因为忘了看flag在哪个表里,后面浪费了很多时间

继续看到登陆的逻辑

传入的username&&password非空,并且经过safe函数过滤后带入查询,如果有结果则设定session为查询结果

###分析
一开始绕safe就饶了好久,尝试了各种注释。最后l0cal师傅提醒,在js里toUpperCase()是可以用拉丁文的unicode绕过的,例如"ſ".toUpperCase()<=>"S""ı".toUpperCase()<=>"I"

那么select 和 union 都可以绕过

一开始想多了,一直在盲注,根据时候有session判断查询的真假,结果好多东西都绕不过去,而且没看代码还在傻乎乎的测表名,十分愚蠢

有好多语句都会500,估计是云服务做了限制。。到最后发现把用户名和密码置空,后面用union查询flag,那设置的session不就是flag么。。

真的是太菜了

CATALOG
  1. 1. 代码审计知识星球
    1. 1.1. Nodejs魔法