2019-9-26:渗透测试,基础学习,js正则以及什么是目录扫描,笔记
js正则表达式,用单个字符串描述或者匹配符合特定语句规则的字符串,相当于一种搜索模式。一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索还可以替换
正则表达式语法
/表达式/修饰符(可选),例如 var a=/sym/i; 输入sym SYM sYm都可以匹配,i修饰符不区分大小写,正则可以用来搜索和替换
使用search()搜索,replace()替换,去和正则表达式结合使用
修饰符
i,忽略大小写
g,全局匹配
m,多行匹配
正则表达式常用模式
方括号用于查找某个范围内的字符:
[abc],查找匹配方括号之间的任意字符
[0-9],查找匹配0-9的数字
(x|y),查找匹配人和以|分隔的选项
元字符是拥有特殊含义的字符:
\d,查找数字
\s,查找空白字符
\b,匹配单词边界
\uxxxx,查找以十六位进制数xxxx规定的Unicode字符
量词:
n+,匹配人和包含至少一个n的字符串
n*,匹配人和包含零个或多个n的字符串
n?,匹配人和包含零个或一个n的字符串
RegExp对象,在js中,RegExp对象是一个预定义了属性和方法的正则表达式对象
使用test()
test()方式是一个正则表达式的方法
test()方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回True,否则返回false,语句var a=new RegExp("e"); a.test('the best things is life are free!')
使用exec()
exec()方法用于检测字符串中的正则表达式匹配,该函数返回一个数组,其中存放匹配的结果,如果没有找到,则返回值null,虽然返回了数组,但数组里的值只有1个
JavaScript 错误 - throw、try 和 catch
try{异常的抛出}
catch(e异常名){异常的处理}
finally{结束处理}
throw,语句允许我们创建自定义错误,术语是,创建或抛出异常,语法throw 自定义的异常信息
finally 语句
finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。
js表单
var date=document.forms["myform"]["xm"].value; 获取myform表单,然后操作名称为xm输入框
目录扫描:扫描站点的命令,寻找敏感文件(目录名,探针文件,后台,robots.txt,备份文件等)
目录:站点结构,权限控制不严格
探针文件:服务器配置信息,phpinfo.php ,config.txt,
后台:登陆管理整个网站的入口,如:inurl admin.php
robots.txt:一般存放在站点根目录,如果管理员对robots.txt文件存放不合理会造成信息泄漏
备份文件:数据库备份、网站备份,如 .bak .zip www.rar
目录扫描工具:
1,御剑
2,dirbuster
3,nmap 最早是Linux中的扫描和嗅探工具,网络链接扫描工具,主要探测主机存活,开启的服务(端口),安全性问题(高级用法),系统类型
nmap -h 帮助
nmap ip扫描单个ip
nmap 192.168.1.0/24 网段扫描
nmap 192.168.1.1,100,200-300,扫描ip 1,100,200-300
nmap 192.168.1.0/24 192.168.2.0/24,扫描多个网段
nmap -iL filename 扫描目标文件
nmap -iR 不指定目标随机目标探测 nmap -sS -PS80 -iR 0(无休止去扫描) -p80
nmap 192.168.1.0/24 --exclude 192.168.1.1,255,4-20 排除某些ip去扫描
nmap -iL filename1 --excludefile filename2,其中file1是需要扫描 file2不需要扫描
open,开启
close,关闭
filtered状态,被过滤,探测包被拦截,无法定位端口是否开启
unfiltered未过滤,探测包没有被拦截,nmap无法判断该端口是否开启