bugku
2021/5/31
web15
burpsuite可以爆破出
web17
sql注入
思路
1.判断是否存在注入
2.判断闭合
3.order by 查看字段数
4.爆库名
5.爆表名
6.爆字段
web18
正则表达
网上找的python脚本
import requests #引入request库
import re #引入re库
url = '''http://114.67.246.176:15980/'''
s = requests.session() #用session会话保持表达式
retuen = s.get(url)
equation = re.search(r'(\d+[+\-*])+(\d+)',retuen.text).group()
result = eval(equation) #eval()函数用来执行一个字符串表达式,并返回表达式的值。
key = {'value':result}#创建一个字典类型用于传参
flag = s.post(url,data=key)#用post方法传上去
print(flag.text)
2021/6/1
No one knows regex better than me
正则 参考:
https://blog.csdn.net/qq_51652864/article/details/115418817
web27
md5碰撞
```php
<?php
$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
echo "nctf{*****************}";
} else {
echo "false!!!";
}}
else{echo "please input a";}
?>
a不等于QNKCDZO且a的参数的md5值要与QNKCDZO md5值相等
web28
从本地查看
1.burp在头部加一个X-Forwarded-For,值为127.0.0.1
2.火狐插件
https://www.runoob.com/w3cnote/http-x-forwarded-for.html
2021/6/2
ctfhub sql注入
字符型,
整数型,
报错注入,
布尔盲注
布尔盲注用sqlmap跑的时候一直不成功
一直跑不出完整的flag也不知道为啥,先挖个坑后面来填坑
2021/6/6
web22
$poc=“a#s#s#e#r#t”;
KaTeX parse error: Expected 'EOF', got '#' at position 16: poc_1=explode("#̲",poc); //explode("#",
p
o
c
)
;
将
poc); 将
poc);将poc以#为分界符号分为数组
p
o
c
2
=
poc_2=
poc2=poc_1[0].
p
o
c
1
[
1
]
.
poc_1[1].
poc1[1].poc_1[2].
p
o
c
1
[
3
]
.
poc_1[3].
poc1[3].poc_1[4].
p
o
c
1
[
5
]
;
/
/
poc_1[5]; //
poc1[5];//poc_2=
p
o
c
1
[
0
]
.
poc_1[0].
poc1[0].poc_1[1].
p
o
c
1
[
2
]
.
poc_1[2].
poc1[2].poc_1[3].
p
o
c
1
[
4
]
.
poc_1[4].
poc1[4].poc_1[5];
这句就相当于$poc_2=assert
p
o
c
2
(
poc_2(
poc2(_GET[‘s’]) //相当于assert($_GET[‘s’])
assert()可以进行代码执行
构造payload
菜刀链接
代码注释参见
(https://blog.csdn.net/baidu_39504221/article/details/111472989)添加链接描述
web27
md5碰撞
略详见上
web3
这个题呢
get传参what=flag即可
web4
打开后显示post传参
于是到火狐浏览器用到Hackbar进行post传参即可get flag
web5
打开
显示要用get的方式传参
意思是num= =1
此处用了php弱类型比较
意思是’= =‘时数据类型要相等
所以1后加字母使之成为字符串即可