/
sqlmap.rb
32 lines (27 loc) 路 1.13 KB
/
sqlmap.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Sqlmap < Formula
desc "Penetration testing for SQL injection and database servers"
homepage "http://sqlmap.org"
url "https://github.com/sqlmapproject/sqlmap/archive/1.0.7.tar.gz"
sha256 "aa0739d120725d5d700b0c94d291342df3461608fe47986a2027c3692c8fed0f"
head "https://github.com/sqlmapproject/sqlmap.git"
bottle :unneeded
def install
libexec.install Dir["*"]
bin.install_symlink libexec/"sqlmap.py"
bin.install_symlink bin/"sqlmap.py" => "sqlmap"
bin.install_symlink libexec/"sqlmapapi.py"
bin.install_symlink bin/"sqlmapapi.py" => "sqlmapapi"
end
test do
data = %w[Bob 14 Sue 12 Tim 13]
create = "create table students (name text, age integer);\n"
data.each_slice(2) do |n, a|
create << "insert into students (name, age) values ('#{n}', '#{a}');\n"
end
pipe_output("sqlite3 school.sqlite", create, 0)
select = "select name, age from students order by age asc;"
args = %W[--batch -d sqlite://school.sqlite --sql-query "#{select}"]
output = shell_output("#{bin}/sqlmap #{args.join(" ")}")
data.each_slice(2) { |n, a| assert_match "#{n}, #{a}", output }
end
end