一, 签到题
直接进群看公告
二,
打开是这样的
发现flag直接摆着了
三
抓包看看,上传的时候,在burpsuit中把后缀.jpg改成.php。
四
这道题一开始发现只能输一个数字,检查网页源代码,看不出什么名堂来,只是验证了只能输一个数 。然后没嘛思路,把网页源代码上能点的链接都点了,看到了js函数
Flag就找到了
五
直接what=flag
六
七.
is_numeric函数的绕过
num是数字的话就会输出这个数字,但是只有$num==1才会输出flag。令num=1q当第一个判断条件时,不会认为这是一个数字,会进行到第二个判断条件,会认为num=1 从而输出flag
八
查看网页源代码,得到一串符号的代码,网上找在线解码器
九
Sql注入
宽字节注入
http://blog.csdn.net/hw_henry2008/article/details/6736017
http://blog.csdn.net/wy_97/article/details/77389088
变量一
GLOBALS全局变量
本地包含
https://www.cnblogs.com/f3ngt1ng/p/6374983.html
Sql注入
strip_tags()函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
注释:该函数始终会剥离 HTML注释。这点无法通过 allow 参数改变。
注释:该函数是二进制安全的。
明白了这个函数的作用就简单了 这个函数会剥离html标签 所以我们只用写注入语句时加入html标签就可以绕过注入检测
注入语句
http://103.238.227.13:10087/index.php?id=1 union select 1,2%23 其中的union和select是敏感关键字
所以在这两个词里面加入<>
1. http://103.238.227.13:10087/index.php?id=1%20uni%3C%3Eon%20sele%3C%3Ect%201,2%23
2. http://103.238.227.13:10087/index.php?id=1%20uni%3C%3Eon%20sele%3C%3Ect%20database(),2%23
必须停下来
抓包就可以了,很多次,差点就要放弃了
秋明山老司机
进入会看见这个界面
没刷新一次都会改变
用python构造脚本如下
#-*-coding:utf-8-*- import requests import re url='http://120.24.86.145:8002/qiumingshan/' r=requests.session() requestpage = r.get(url) ans=re.findall('<div>(.*?)=?;</div>',requestpage.text)#获取表达式,我正则写的好像有点问题,多匹配了最后的=?两个字符 ans="".join(ans)#列表转为字符串 ans=ans[:-2]#去掉最后的=? post=eval(ans)#计算表达式的值 data={'value':post}#构造post的data部分 flag=r.post(url,data=data) print(flag.text)
http://blog.csdn.net/eustiasora/article/details/79142835