XSScrapy:自動化 XSS 攻擊

也是不知道在哪邊看到的,反正容易安裝就裝起來玩玩看:「XSScrapy: fast, thorough XSS vulnerability spider」。XSScrapy 是一套自動化攻擊軟體,是目前這類測試軟體裡用起來最簡單的版本。

直接 clone 下來就可以執行了,如果有遇到 dependency 的問題,可以透過 pip 安裝:

pip install -r requirements.txt

執行的方法就這樣:

./xsscrapy.py -u http://example.com

上面這個方法是在訪客模式下慢慢跑,你也可以給他一組帳號密碼讓他填 form,他會試著登入後不斷打下去:

./xsscrapy.py -u http://example.com/login_page -l loginname -p pa$$word

也可以用 HTTP Basic Authentication:

./xsscrapy.py -u http://example.com/login_page -l loginname -p pa$$word --basic

然後發現的問題會寫到 XSS-vulnerable.txt 裡面:

XSS vulnerabilities are reported in XSS-vulnerable.txt

用法就這樣而已... XD

Python Practice Book

Python Practice Book 這份資料對於學過 Python 又不常用而導致常常忘記的人還蠻好用的,算是復健用的書?

裡面的範例都是以 Python 2 為主 (因為我拿 Python 3 測試,發現 print 用法不一樣了),不過還是不錯啦... 大量的範例程式碼可以看。

SaltStack 與 Ansible 的比較

也忘記在哪邊看到的,反正是留在 browser 上的連結。

puppet 跳槽,因為 SaltStack (Salt) 與 Ansible 都是使用 Python 而被選擇,然後完整比較後記錄下來:「Moving away from Puppet: SaltStack or Ansible?」。

先說結論,最後看起來是選擇了 Salt:

At this point both Salt and Ansible are viable and excellent options for replacing Puppet. As you may have guessed by now, I’m more in favor of Salt.

作者花了相當多的時間比較得到結論,包括從 puppet porting 一個完整的部份 (不是全部,不過還是為數可觀的部份),以及 porting 中間發現問題後開 ticket 詢問。除了技術面上的評估外,還包括了 community 的態度... (其實是狂婊 Ansible... XDDD)

Python 2.7 再活五年...

Python 2.7 將支援到 2020 年:「Extend Python 2.7 life till 2020.」。

The End Of Life date (EOL, sunset date) for Python 2.7 has been moved five years into the future, to 2020. This decision was made to clarify the status of Python 2.7 and relieve worries for those users who cannot yet migrate to Python 3. See also PEP 466.

This declaration does not guarantee that bugfix releases will be made on a regular basis, but it should enable volunteers who want to contribute bugfixes for Python 2.7 and it should satisfy vendors who still have to support Python 2 for years to come.

有種淡淡的哀傷...

幾個程式語言對引號以及 backslash 解讀...

三個 P 開頭的語言...

PHP

#!/usr/bin/env php
<?php
 
echo "\\\"\'", "\n";
echo '\\\"\'', "\n";

Perl

#!/usr/bin/env perl
 
use 5.010;
use strict;
use warnings;
 
INIT {
    $a = "\\\"\'";
    $b = '\\\"\'';
 
    say $a;
    say $b;
}
 
__END__

Python

#!/usr/bin/env python
 
print "\\\"\'"
print '\\\"\''

結果是:

$ ./quote.php
\"\'
\\"'

$ ./quote.pl
\"'
\\"'

$ ./quote.py
\"'
\"'

這...

Amazon 官方推出 Python 版本的 AWS CLI 工具...

幾天前 Amazon 官方推出 Python 版本的 AWS CLI 工具:「New AWS Command Line Interface (CLI)」,官方網站則是在「AWS Command Line Interface」,程式碼則是公開在 GitHub 上:「aws/aws-cli

FreeBSD ports 裡面有,在 devel/awscli 這裡。

記得一開始作者 Mitch Garnaat 先發展 boto,然後被 Amazon 挖走,沈寂了好幾年,開發出這東西...

常用的服務都可以透過這隻程式操作...

紐約公共圖書館提供的 Library:將地圖 OCR 成向量資料...

紐約公共圖書館 (NYPL) 丟出個有趣的東西:「Map polygon and feature extractor」,敘述的地方就有這樣的說明:

Like OCR for maps

可以把這樣的地圖圖檔:

轉成:

這樣子... 也可以 GeoJSON 輸出 :p

這屬於 Open Data 的工作,紐約公共圖書館本身就是全世界第三大圖書館,美國第二大的圖書館 (僅次於第一的國會圖書館與第二的大英圖書館),做完後可以把館內的地圖館藏整個數據化讓人重複使用 (而非僅僅將紙本掃描成圖片資料的「電子化」),這包括了以前的手繪地圖啊...

程式主要是用 Python 寫,另外在 repository 有看到 RScheme 的存在... (GitHub 的統計)

在 FreeBSD ports 裡用 local patch 修正問題...

FastCGITrac,遇到 Trac 常常出現 MySQL server has gone away 的問題,官方看起來非常的 open source style:我沒遇到,不太想要處理這個問題... XD

Anyway,這個問題可以透過「#3645 (MySQL connections don't reconnect after idle timeout) – The Trac Project」的 comment:8 給 workaround 掉,但我不希望在升級後問題又跑出來,所以就用「Apache 2.2 worker MPM 與 mod_fastcgi 的問題」這邊的解法來解了:

www/trac: NO_CHECKSUM=yes | PATCH_SITES=http://freebsd-patches.s3.amazonaws.com/trac/ | PATCHFILES=patch-trac__db__mysql_backend.py

不過 NO_CHECKSUM=yes 有點討厭,來找看看有沒有辦法「增加 checksum」而非「忽略 checksum」...

Fabric Engine

Fabric Engine 號稱可以把 JavaScript 與 Python 跑到接近 C++ 速度的實力,而且強調支援 Threading... 投影片裡可以看到底層的技術包括 LLVM

在 Python 的範例程式可以看到 import 後用專屬的 Handler 包起來:https://github.com/fabric-engine/PublicStable/blob/master/Examples/Python/Tutorial/trivialHTTPServer.py。而 NodeJS 的範例也是類似的架構:https://github.com/fabric-engine/PublicStable/blob/master/Examples/Node/Tutorial/trivialHTTPServer.js。看起來比較像是把常用的 module 寫成 C++ code 而已?這並不是什麼神奇的技術...

另外 license 是 AGPL 3 or later 這個麻煩的 license,再加上使用 GitHub 的方式超怪 (把 stable 版本與 dev 版本 source 放到不同 reposiotry:Download

先把這軟體丟到一邊吧,等之後有人提起來的時候再看看...