招聘安全实习生一名(北京-中关村)

招聘安全实习生一名,欢迎投递简历。

地点: 北京 – 中关村

技能要求:

1. 理解常见web漏洞:SQL注入、XSS、CSRF、上传漏洞、代码(命令)执行、常见逻辑缺陷等

2. 熟练使用常见的安全工具: awvs sqlmap nmap burpsuite appscan等

3. 有一定的渗透测试经验,了解常见漏洞的测试流程和利用方法

4. 熟练使用python和Linux(shell scripts)

5. 有android/iOS客户端漏洞挖掘经验可加分, 熟悉主流web框架可加分,  有代码安全审计经验可加分

6. 良好的沟通能力,自我驱动学习,善于用代码解决问题

 

实习期间工作内容:

  1. 内外网安全巡检,漏洞挖掘
  2. 扫描器插件开发(python脚本),扫描平台功能迭代
  3. 扫描器爬虫优化

 

投递邮箱:

python -c “import base64; print base64.b64decode(‘bGlqaWVqaWVAcWl5aS5jb20=’)”

QQ:

echo OTE4MjI2Mwo=|base64 -d

通过Windows批处理自动配置DNS服务器

有时候我会在自己的PC机上启一个dns代理服务器,用来记录本机所有的DNS查询,收集各大公司的域名。

启动脚本的时候,会自动配置主DNS服务器到127.0.0.1,通过netsh命令实现即可:

netsh interface ipv4 set dnsservers "本地连接" static 127.0.0.1
netsh interface ipv4 add dns name="本地连接" addr="8.8.8.8" index=2

以上将主dns设置为127.0.0.1,辅dns服务器设置为8.8.8.8。

同理,在代理程序中止的时候,又自动将DNS设置还原为原始IP。

2016年第二季度71SRC金币翻倍活动

为答谢广大白帽子对71SRC的支持和厚爱,特举行一次为期3个月的金币翻倍活动


活动时间

2016/4/12 – 2016/6/30

在上述时间内报告漏洞,可享受双倍金币奖励!

活动规则

71SRC收到的所有有效漏洞(已确认),金币奖励翻倍:

a) 低危漏洞: 分值 1-2,金币系数3,单个漏洞奖励 3 – 10 金币

b) 中危漏洞: 分值 3-5,金币系数4,单个漏洞奖励 12 – 50 金币

c) 高危漏洞: 分值 6-9,金币系数10,单个漏洞奖励 60 – 200 金币

d) 严重漏洞: 分值 9-12,金币系数20,单个漏洞奖励 180 – 500 金币

同时,对于攻击成本很低,但能够影响到海量用户数据、影响VIP会员增值业务、影响支付业务的严重漏洞和威胁情报,原有的双倍积分计划可以叠加。

补充

活动相关规则,欢迎加入QQ群参与讨论 71SRC白帽子交流群  130763408 (请备注在71SRC平台的ID)

MySQL注射的过滤绕过技巧[2]

前文介绍了MySQL注射绕过大小于符号,绕过逗号的一点小技巧。

本篇继续介绍在空格被过滤的情况下如何注入。

SQL注入时,空格的使用是非常普遍的。比如,我们使用union来取得目标数据:

http://www.xxx.com/index.php?id=1 and 0 union select null,null,null

上面的语句,在and两侧、union两侧、select的两侧,都需要空格。

1. 注释绕过空格

这是最基本的方法,在一些自动化SQL注射工具中,使用也十分普遍。在MySQL中,用

/*注释*/

来标记注释的内容。比如SQL查询:

select user() from dual

我们用注释替换空格,就可以变成:

select/**/user()/**/from/**/dual

如下图,SQL命令能够正确执行:

MySQLi_without_blanks

2. 括号绕过空格

空格被过滤,但括号没有被过滤,可通过括号绕过。

我的经验是,在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。而括号的两端,可以没有多余的空格。

括号绕过空格的方法,在time based盲注中,是屡试不爽的。

举例说明,我们有这样的一条SQL查询:

select user() from dual where 1=1 and 2=2

如何把空格减到最少?

观察到user()可以算值,那么user()两边要加括号,变成:

select(user())from dual where 1=1 and 2=2;

继续,1=1和2=2可以算值,也加括号,去空格,变成:

select(user())from dual where(1=1)and(2=2)

dual两边的空格,通常是由程序员自己添加,我们一般无法控制。所以上面就是空格最少的结果。

MySQLi_without_blanks_2

 

这也是非常实用的一个技巧。

 

这两篇介绍了一些基础的内容,用我常用的一条time based盲注语句做个总结:

http://www.xxx.com/index.php?id=(sleep(ascii(mid(user()from(2)for(1)))=109))

这条语句是猜解user()第二个字符的ascii码是不是109,若是109,则页面加载将延迟。它:

1) 既没有用到逗号、大小于符号

2) 也没有使用空格

却可以完成数据的猜解工作!

WIFI Native API和wlan.exe的用法

一提到破解WIFI密码,很多人会直接想到BT(Back Track Linux)。

昨天想测试下用windows API(Native Wifi Reference)来做简单的暴力破解,发现效率惨不忍睹。非基于协议的破解,做了太多额外的不利于提升效率的工作,往往是不可取的。

记得之前破解QQ本地消息密码,我是通过不停发送windows消息来做的,效率也非常之低。

wlan.exe正是调用native WIFI API实现的小工具,如果我们需要在自己的程序中控制无线连接,直接调用wlan.exe即可,不需要自己去调用一系列API函数,更不会因为忘记Free Memory内存泄露。

wlan.exe来自: http://www.symantec.com/connect/articles/how-capture-and-deploy-wlan-profiles

输入wlan.exe ?可以查看程序用法:

        EnumInterface(ei)
        GetInterfaceCapability(gic)
        QueryInterface(qi)
        SetRadioState(srs)
        GetDriverStatistics(gds)
        Scan(scan)
        GetBssList(gbs)
        GetVisibleNetworkList(gvl)
        SetProfile(sp)
        SaveTempProfile(stp)
        GetProfile(gp)
        DeleteProfile(dp)
        SetProfileList(spl)
        GetProfileList(gpl)
        Connect(conn)
        Disconnect(dc)
        Discover(disc)
        RegisterNotif(r)
        help(?)

如果不知道某个功能的方法,可以执行类似:

wlan.exe help ei

wlan.exe ei: 枚举网络接口,得到所有网卡的GUID

wlan.exe gvl <GUID>: 得到附近所有可见的网络

wlan.exe  Connect(conn) <interface GUID> <SSID> <infrastructure(i)|adhoc(a)> <profile name>

连接过的网络都会创建profile,直接使用已有的profile连接即可。比如:

wlan.exe conn cb9cc136-0d9e-4527-acd2-e59b03146c78    MissYang i MissYang

下载 WLAN