2017年3月29日星期三
[转]sqlmap脱裤.csv文件中文乱码解决方法
sqlmap脱裤.csv文件中文乱码解决方法
脱下的.CSV文件默认打开方式是excel;
解决方法:
1、将导出的CSV文件用记事本打开
2、然后另存为:选择ANSI编码保存,
用户登录页面,后台的登录逻辑判断
经典的实现方式
参考链接:
1. 防SQL注入攻略
2. 使用php实现简单的登录系统
3. 从万能密码看SQL的逻辑运算符
SELECT count(*) FROM user WHERE name ='".$user."' AND password = '".sha1($password)."'" SELECT username,pass FROM users WHERE username='$uname' AND password='$passwrd' LIMIT 0,1 SELECT * FROM users WHERE username = '$username' AND password = '$password'另一种实现方式 先通过用户名去数据库查询相关用户的密码字段,并且检查只有一条,如果有两条以上就应该判断为false。 这可以防止基于约束的sql注入攻击。 查询到密码字段后,与post方法获取到的密码进行比对,这样,就不存在sql注入bypass登录页面的问题了。
参考链接:
1. 防SQL注入攻略
2. 使用php实现简单的登录系统
3. 从万能密码看SQL的逻辑运算符
2017年3月16日星期四
cisco ASA 防火墙查找重启原因
1. show crashinfo
2. dir flash:/crash.txt
3.通过日志服务器查找原因
4.通过zabbix监控接口流量情况与cpu内存利用情况
这是一次在debug过程导致重启的事故,从crashinfo消息
看出是ssh进程导致的,与debug关系不大。
2. dir flash:/crash.txt
3.通过日志服务器查找原因
4.通过zabbix监控接口流量情况与cpu内存利用情况
这是一次在debug过程导致重启的事故,从crashinfo消息
看出是ssh进程导致的,与debug关系不大。
阿里云部署strongswan与flexGW (实现linux与cisco asa 5520对接)
0x00 使用flexGW与对端CISCO asa 5520建立IKEv2 ipsec vpn
首先要介绍一下FlexGW,它是阿里开源的一个项目,FlexGW项目地址
它包含了两个开源组件,openvpn、strongswan
但是这里,只需要用到strongswan即可,strongswan的官网首页有许多
IKE相关的RFC编号,可以多看看
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
strongSwan U5.4.0/K2.6.32-573.22.1.el6.x86_64
CentOS release 6.5 (Final)
0x02 根据官方文档配置
搭建VPN网关 是阿里官方flexGW web图形配置界面介绍,加上cisco ASA的配置。
注意配置两端的参数要一致。
0x03 我的配置
首先定义允许经过VPN的流量
access-list ALIVPN extended permit ip 172.16.0.0 255.255.0.0 10.8.0.0 255.255.0.0
重要提示:在这里可能会出现下面的报错。
原理:strongswan会把允许的流量列表发过来,必须要与ALIVPN列表精确匹配,
否则就不能正常建立ipsec sa。
以下是之前的写法:
access-list IT-2-ALIVPN extended permit ip 172.16.11.0 255.255.255.0 10.8.0.0 255.255.0.0
日志错误
Negotiation aborted due to ERROR: Failed to find a matching policy
调试错误
IKEv2-PROTO-1: (64): Failed to find a matching policy
原因
访问控制列表与对端的流量筛选器不一致
0x03 两个SA建立后,ping不同?
ping不通的原因:
ESP 数据包必须经过NAT,而经过NAT后源地址被转换,校验失败,数据包丢弃。
出个问题,ESP数据包可以不走NAT吗?
解决方法:
在asa做一个二次NAT,让源地址与目标地址都不转换的经过NAT。
0x04 排错思路
排除思路:
一种是开debug
debug crypto ikev2 protocol
debug crypto ikev2 platform
另外一种是查看日志
show logging | in x.x.x.x (过滤对端IP地址)
首先要介绍一下FlexGW,它是阿里开源的一个项目,FlexGW项目地址
它包含了两个开源组件,openvpn、strongswan
但是这里,只需要用到strongswan即可,strongswan的官网首页有许多
IKE相关的RFC编号,可以多看看
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
strongSwan U5.4.0/K2.6.32-573.22.1.el6.x86_64
CentOS release 6.5 (Final)
0x02 根据官方文档配置
搭建VPN网关 是阿里官方flexGW web图形配置界面介绍,加上cisco ASA的配置。
注意配置两端的参数要一致。
0x03 我的配置
首先定义允许经过VPN的流量
access-list ALIVPN extended permit ip 172.16.0.0 255.255.0.0 10.8.0.0 255.255.0.0
重要提示:在这里可能会出现下面的报错。
原理:strongswan会把允许的流量列表发过来,必须要与ALIVPN列表精确匹配,
否则就不能正常建立ipsec sa。
以下是之前的写法:
access-list IT-2-ALIVPN extended permit ip 172.16.11.0 255.255.255.0 10.8.0.0 255.255.0.0
日志错误
Negotiation aborted due to ERROR: Failed to find a matching policy
调试错误
IKEv2-PROTO-1: (64): Failed to find a matching policy
原因
访问控制列表与对端的流量筛选器不一致
crypto ikev2 enable wan
crypto ikev2 policy 10 encryption aes-256 3des integrity sha256 md5 group 5 2 1 prf sha256 md5 lifetime seconds 86400 tunnel-group HardWay type ipsec-l2l # 这个一直提示错误的信息 tunnel-group HardWay ipsec-attributes ikev2 remote-authentication pre-shared-key cisco123 ikev2 local-authentication pre-shared-key cisco123 调试出下面错误 IKEv2-PLAT-1: Failed to set P1 auth to build policy IKEv2-PLAT-1: unable to build ikev2 policy IKEv2-PROTO-1: (38): Failed to locate an item in the database 更换了tunnel-group ID后,正常连接隧道 tunnel-group 99.99.99.99 type ipsec-l2l # 把HardWay改成99.99.99.99 tunnel-group 120.77.32.39 ipsec-attributes ikev2 remote-authentication pre-shared-key cisco123 ikev2 local-authentication pre-shared-key cisco123 crypto ipsec ikev2 ipsec-proposal itplus protocol esp encryption 3des protocol esp integrity md5 crypto map cry-map 50 match address ALIVPN crypto map cry-map 50 set peer 99.99.99.99 crypto map cry-map 50 set ikev2 ipsec-proposal itplus 第二次报错 IKEv2-PLAT-1: IKEv2 protocol not allowed by policy set for vpn-tunnel-protocol IKEv2-PLAT-1: Connection is not authorized based on configured attributes IKEv2-PROTO-1: (39): Failed to register new SA with platform 第二次报错的解决方法 group-policy ALI_VPN internal group-policy ALI_VPN attributes vpn-idle-timeout 30 vpn-tunnel-protocol ikev2 tunnel-group 99.99.99.99 general-attributes default-group-policy ALI_VPN
0x03 两个SA建立后,ping不同?
ping不通的原因:
ESP 数据包必须经过NAT,而经过NAT后源地址被转换,校验失败,数据包丢弃。
出个问题,ESP数据包可以不走NAT吗?
解决方法:
在asa做一个二次NAT,让源地址与目标地址都不转换的经过NAT。
object network XYJCOM subnet 172.16.0.0 255.255.0.0 object network ALICLD subnet 10.8.0.0 255.255.0.0 nat (lan,wan) source static XYJCOM XYJCOM destination static ALICLD ALICLD no-proxy-arp route-lookup
0x04 排错思路
排除思路:
一种是开debug
debug crypto ikev2 protocol
debug crypto ikev2 platform
另外一种是查看日志
show logging | in x.x.x.x (过滤对端IP地址)
2017年3月15日星期三
阿里云部署openvpn L2L - C/S架构 (or site to site)
0x00 基于LAN-TO-LAN的阿里云部署C/S架构openvpn
这次依然使用openvpn的C/S架构,但是实现的是LAN-TO-LAN vpn,实现两边的内网互访。而不是默认的c/s架构,只能由client访问到服务器内网的资源。
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
CentOS release 6.5 (Final)
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
CentOS release 6.5 (Final)
0x01 点对点VPN
1.不需要开启iptables
2.添加合适的路由,可以在openvpn的配置文件下去完成
3.需要开启数据包转发功能,在/etc/sysctl.conf下去配置
4.查看路由表的方法:
route -n
netstat -nr
linux增加路由与删除路由
route add -net 172.16.11.0 netmask 255.255.255.0 dev tun0 gw 10.8.0.1
route del -net 172.16.11.0 netmask 255.255.255.0 dev tun0 gw 10.8.0.2
windows添加静态路由
route add 10.8.0.0 mask 255.255.255.0 172.16.11.196
0x02 一些调试与排错技巧
配置文件快速查看
grep "^[^#;]" server.conf
vpn调试工具
在指定接口下抓限定条件的数据包
tcpdump -i tun0 -n dst 10.8.1.11
tcpdump -i tun0 -n src 172.16.11.198
linux下的openvpn客户端
apt-get install openvpn
openvpn --config ali.ovpn
注意:openvpn --config config/ali.ovpn 这样会有问题,不能启动
只能到指定文件夹下去加载配置文件,才不会出错
查看证书的命令
openssl x509 -noout -text -in xxname.crt
根据证书的common name,里面有五个信息可以看
Issuer -- CA的信息
subject -- 项目或者用户的信息
signature Algorithm -- 签名算法
Validity -- 证书有效期
Public-Key Length -- 公钥长度
主要根据subject的common name,即CN
0x03 完成两边网络互访的关键配置项
首先我把server.conf里面的注释内容翻译了一下
# 分配指定的ip地址给指定的客户端 # 或者连接的客户端后面有私有子网也需要有VPN访问 # 使用子目录名“ccd”为指定客户端添加配置文件 # (详细内容请看man page) # 举例: (CN: Common Name) # 假设客户端证书的CN是“Thelonious” # 有一个小型子网在他连接VPN的电脑后面 # 比如 192.168.40.128/255.255.255.248. # 首先,把下面两行注释掉 ;client-config-dir ccd ;route 172.16.11.0 255.255.255.0 # 然后创建一个ccd/Thelonious的文件,写入一行: # iroute 192.168.40.128 255.255.255.248 # 这将允许Thelonious后面的私有子网去访问VPN # 这个例子将只会工作在路由模式而不是桥接模式 # [i.e.] 也就是,你使用的是 “dev tun” 与 “server” 指令 # 举例: # 假设你想给Thelonious一个固定的VPN IP地址:10.9.0.1 # 首先,把下面两行注释掉 ;client-config-dir ccd ;route 10.9.0.0 255.255.255.252 # 然后把下面内容加入 ccd/Thelonious # ifconfig-push 10.9.0.1 10.9.0.2
注意文件的命名必须严格按照证书里面CN来命名
2017年3月11日星期六
阿里云部署openvpn 基于NAT C/S架构
0x00
这次是第二次配置openvpn了,第一次没有成功,因为是在国外的主机上。
本次基本参照一篇博文完成了配置。
其中要注意的是,不要照搬照抄,注意修改一些内容。
给新用户生成证书的时候,在cd /etc/openvpn目录下
需要注意先执行 source ./vars
然后再 ./build-key xxname
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
CentOS release 6.5 (Final)
0x01
注意根据自己的需求写iptables规则
由于我是在生产环境下,需要多次重启,确保开机后openvpn服务正常运作。
0x02
这次openvpn的搭建速度很快,不到3个小时就完成,当然靠的是良好的排错思路。
可以根据两篇博文的思路来进行,中文,英文。
总结openvpn 的排除思路
可以说openvpn的排错都是在配置文件里面去完成
server端
查看日志,搜索 error
根据错误去配置
client端
日志出现错误的时候,
就去查看日志,搜索WARNING,并且定位问题
一般定位到的问题都是在server端或者client端配置不匹配导致的
所以通过调整配置文件一般都可以排错完成
这次是第二次配置openvpn了,第一次没有成功,因为是在国外的主机上。
本次基本参照一篇博文完成了配置。
其中要注意的是,不要照搬照抄,注意修改一些内容。
给新用户生成证书的时候,在cd /etc/openvpn目录下
需要注意先执行 source ./vars
然后再 ./build-key xxname
环境:
OpenVPN 2.3.14 x86_64-redhat-linux-gnu
CentOS release 6.5 (Final)
0x01
注意根据自己的需求写iptables规则
设置iptables这一条至关重要通过配置nat将vpn网段IP转发到server内网,10.8.0.0/24 是vpn网段 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE iptables -A INPUT -p UDP --dport 1194 -j ACCEPT iptables -A INPUT -p TCP --dport 22 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT service iptables save chkconfig iptables on 注意: 必须让iptables服务开机自启动,否则规则不会加载
由于我是在生产环境下,需要多次重启,确保开机后openvpn服务正常运作。
0x02
这次openvpn的搭建速度很快,不到3个小时就完成,当然靠的是良好的排错思路。
可以根据两篇博文的思路来进行,中文,英文。
总结openvpn 的排除思路
可以说openvpn的排错都是在配置文件里面去完成
server端
查看日志,搜索 error
根据错误去配置
client端
日志出现错误的时候,
就去查看日志,搜索WARNING,并且定位问题
一般定位到的问题都是在server端或者client端配置不匹配导致的
所以通过调整配置文件一般都可以排错完成
2017年3月2日星期四
编码直觉
编码直觉是作为一名黑帽子与白帽子必须掌握的一门技能
注意:在处理并且理解编码意义的时候,经常需要用到碰撞与撞库的术语,或者fuzz。
unix时间戳
10位数字长度 1487404381 秒
13位数字长度 1487404381121 毫秒
md5 特点
1. 128bit (16字节) 32个字符
2. 一般128位的MD5散列被表示为32位十六进制数字 (注意:表示一词用的很好)
3. 定长输出
示例:
md5(sdafsd,32) = 569ebc3d91672e7d3dce25de1684d0c9
SHA-1 特点
1. 比md5多8个字符,40个字符
2. 有更多的加密选择,sha-128-256-512
1. 这类加密只能使用脚本进行比对,得出使用的加密算法
BASE64 特点
1. 等号“=”用来作为后缀用途 , 后面有一个或者两个 = 号的
2. 64个字符
52个大小写字母
ABCDEF GHIJKL MNOPQR STUVWX YZ
abcdef ghijkl mnopqr stuvwx yz
10个数字
0123456789
两个字符
+ /
参考链接:
1. 几种常用加密算法比较
注意:在处理并且理解编码意义的时候,经常需要用到碰撞与撞库的术语,或者fuzz。
unix时间戳
10位数字长度 1487404381 秒
13位数字长度 1487404381121 毫秒
md5 特点
1. 128bit (16字节) 32个字符
2. 一般128位的MD5散列被表示为32位十六进制数字 (注意:表示一词用的很好)
3. 定长输出
示例:
md5(sdafsd,32) = 569ebc3d91672e7d3dce25de1684d0c9
SHA-1 特点
1. 比md5多8个字符,40个字符
2. 有更多的加密选择,sha-128-256-512
1. 这类加密只能使用脚本进行比对,得出使用的加密算法
BASE64 特点
1. 等号“=”用来作为后缀用途 , 后面有一个或者两个 = 号的
2. 64个字符
52个大小写字母
ABCDEF GHIJKL MNOPQR STUVWX YZ
abcdef ghijkl mnopqr stuvwx yz
10个数字
0123456789
两个字符
+ /
参考链接:
1. 几种常用加密算法比较
订阅:
博文 (Atom)