curl的一些常用方法

最近发现curl是一个很有用的工具,但是只是用到了里面的post数据提交,并没有用到其他的功能,所以最近有时间就整理了下其他的一些用法。

0X00

1
curl http://Edward-L.github.io

首先是最简单的获取整个页面,当然如果,url指向的是一个文件之类的东东,他就会下载这个东东到本地。

如果是html文档,默认是不会现实htmlheader的,可以使用-i来显示所有的信息,使用-l来显示header

Read more »

python版手机app控制mac电脑锁屏

每天和一群灰阔生活在一起是一件非常有趣和危险的一件事。一不小心出去忘记锁屏,那么谁知道你的电脑会发生什么事呢。一天,小雨就忘记了锁屏就直接回寝室了,走在路上才想起来,内心是十分的不安阿!所以我们就在想能不能做一个app远程控制电脑锁屏呢!

第二天lightless就写了一个windows版的锁屏传送门,我很想用阿,怎么办呢!果断自己动手阿!我向lightless要了一个app的接口(因为我不会java!),然后我就开始用python写pc端的脚本了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import urllib2
import re
import time
import os

while True:
response = urllib2.urlopen("http://lightless.cn/RemoteControl/GetCode.php?sec-code=Edward_L")
html = response.read()
#print html
res = re.findall("\d",html)
#print res
time.sleep(5)

if res[0] == "0":
os.system("pmset sleepnow")
break

Read more »

base64 encode&decode

昨天中软吉大的比赛结束后,和大神聊了聊,收获颇多。最重要的一点就是要好好的打好基础,我也觉得我必须要好的把python学学深了,他很多的模块我都不是很清楚。例如拿base64来说,python简单的三行代码可以完成,而自己却还这么麻烦的去找工具。所以初步打算在国庆期间要对python进行进一步的加强。

下面是三行对字符进行base64加密:

1
2
3
4
5
6
import base64

test = raw_input ("input what do you want to encode : \n")
testa = base64.encodestring(test)

print testa

下面是三行对字符进行base64解密:

Read more »

安装 mamp 后怎么从terminal 中使用mysql

好久没有写php了,最近突然想再写写,之前用mysql都是直接再terminal中直接敲打命令行的,现在装了mamp之后,发现不能直接在terminal中直接启动,会出现这样的提示:

Read more »

alictf中一个很神奇的sql注入

很神奇的一道题目,web-a的100分,直接给了个后台登录,试过注入但是失败了,整个比赛也在放出hint之前没有队伍做出来,不过有了提示很快大家都搞定了,记录一下这个神奇的注入。

Read more »

关于sql注入的一些方法。

关于sql注入的一些方法。

现在的sql注入越来越少了,搜索框的注入还算多,前几天的alictf的比赛有点让我脑洞大开的感觉(也可能是我见识太短浅),所以特意在网上找了一些和sql注入有关的一些方法,摘录下来和大家做一些分享。也希望大家谁有奇特思路或者好的方法能够与我共享。

摘自:

http://www.programlife.net/pass-sql-injection-filter.html

http://fulong258.blog.163.com/blog/static/17895044200851033720834/

  1. 绕过空格过滤

使用注释/**/来替换,类似C语言一样,C语言在编译之前注释会被用个空格替换。

1
2
3
4
5
6
select/**/pwd/**/from/**/usertable/**/where/**/id='admin'
```
<!-- more -->

2.绕过关键字过滤
很多人都对`select`, `union`操作关键字等进行了过滤,但是有可能没有考虑大小写的问题。

SeLeCT pwd from usertable where id=’admin’

1
2
3
4
5
6
7

3.用编码绕过关键字过滤
可以把字符转换为%加上16进制的形式,如
`or 1=1`即`%6f%72%20%31%3d%31`

4.使用`char`来绕过过滤
使用`char(ASCII码)`来替换字符,可以直接在`MySql`下工作。

CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)

1
`or 1=1`的编码。

select pwd from usertable where id=’root’+CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)

1
2
3
4
5
6

5.绕过其他一些过滤机制
有些朋友会把提交的数据中的敏感字直接删除,这个还是可以绕过的。例如,试图从提交数据中删除`and`,可以尝试提交`anandd`或`aandnd`

6.对于
`or 1=1`这样的语句还可以用字符串替换

select pwd from usertable where id=’root’or’haha’=’haha’

1
2

或者

select pwd from usertable where id=’root’or’haha’=’ha’+’ha’

1
2

7、通过`LIKE`绕过 ,如

or ‘swords’ LIKE ‘sw’

1
2
3
4
5
显然可以很轻松的绕过`=` `>`的限制……



8、通过`IN`绕过与上面的`LIKE`的思路差不多,如

or ’swords’ IN (’swords’)

1
2
3
4
5
6
7


9、通过`BETWEEN`绕过如`or ’swords’ BETWEEN ’rw’ AND ’tw’`



10、通过`>`或`<`绕

or ’swords’ > ’sw’

or ’swords’ < ’tw’

or 1<3
```
……

nmap的几个常用命令。

-s 参数是用来告诉nmap我们要运行哪种类型的扫描,-p- 是用来告诉nmap要扫描所有的端口,-PN是用来跳过主机的发现阶段,对所有地址进行扫描。

-sT 是运行一个TCP连接类型的扫描。

-sS进行SYN 扫描

-sU进行UDP扫描

Read more »